Я знаю, как я могу использовать библиотеки Java, и я могу написать несколько циклов, которые делают то, что мне нужно, но вопрос в том, почему в нем нет ничего scala.collection.JavaConverters
или scala.collection.JavaConverstions
для преобразования java.util.stream.Stream
в scala.collection.immutable.Stream
?Convert java.util.stream.Stream to Scala Stream
Я хотел бы сделать что-то вроде этого:
def streamFiles(path: Path): Stream[Path] = {
Files.newDirectoryStream(path).asScala
}
Но вместо этого я должен написать что-то вроде этого:
def streamFiles(path: Path): Stream[Path] = {
val path_it : java.util.Iterator[Path] = Files.newDirectoryStream(path).iterator()
def loop(it: java.util.Iterator[Path]): Stream[Path] =
if(it.hasNext)
it.next #:: loop(it)
else
Stream()
loop(path_it)
}
Ваш вопрос остается неясным. Какой поток (Java 8 или Scala)? В чем проблема? Что вы уже делали? – marcospereira
преобразование потока Java8 в поток Scala. Так и то и другое. Я думал, это будет ясно. – Arne
Это не так. Пожалуйста, перепишите свой вопрос, желательно с некоторым кодом, связанным с тем, что вы хотите достичь. – marcospereira