Я хочу использовать java nio в scala, я пытаюсь преобразовать этот код в scala:
ServerSocketChannel ssChannel = ServerSocketChannel.open();
int port = 9001;
ssChannel.bind(new InetSocketAddress(port));
Selector selector = Selector.open();
ssChannel.configureBlocking(false);
ssChannel.register(selector, SelectionKey.OP_ACCEPT);
while (true) {
selector.select();
Set<SelectionKey> keys = selector.selectedKeys();
for (SelectionKey key : keys) {
if (key.isAcceptable()) {
ServerSocketChannel ssc = (ServerSocketChannel) key
.channel();
SocketChannel sc = ssc.accept();
sc.configureBlocking(false);
sc.register(selector, SelectionKey.OP_READ);
}
if(key.isReadable()){
SocketChannel sc = (SocketChannel) key.channel();
ByteBuffer buffer = ByteBuffer.allocate(1024);
sc.read(buffer);
buffer.flip();
sc.write(buffer);
}
}
keys.clear();
}
}
когда я копирую этот код в intellij, intellij спрашивает меня, хочу ли я преобразовать этот код в scala,Я согласен.
тогда intellij
import scala.collection.JavaConversions._,
и скажите мне красную ошибку
Я использую scala 2.12.7 в intellij, я проверяю scala api doc, JavaConversion имеетустарел, поэтому я
import scala.collection.JavaConverters._
но intellij скажите, что он устарел, позвольте мне использовать
scala.jdk.CollectionConverters
, когда я импортирую это, в строке все еще есть ошибка:
key.isAcceptable
как конвертировать этот код в intellij? Спасибо!
Моя версия intellij - 2018.3.4 Community Edition