私はファイルストリームの処理を頭に入れようとしています。ファイルを反復処理し、パターンで分割する
bla
blubb
blubber
testcode
上記のようなファイルがいくつかあります。今、私はメモリにファイル全体を読み込み、それを分割し、単一のファイルのアプローチを使用しています:
今Files.newBufferedReader("myfile").use { f ->
f.readText().splitToSequence("\n\n").forEach {
// do my stuff
}
}
、私はそれは非現実的でファイルを保持すること(大きな入力にこれを一般化しようとしていますメモリ)といくつかのファイル。理想的には、入力ファイルのディレクトリ全体を、私が\n\n
に分割した行の1つのストリームとして扱い、その部分を処理します。どうすればいい?
Iliaの答えが難しいKotlinの部分を解決している間、私は "InputStreamReader(SequenceInputStream(com.google.common.collect.Iterators.asEnumeration)")を使って "ファイルのディレクトリを行のストリームとして扱う" (Files.list( "myDir")。map {Files.newInputStream(it)} .iterator()))、Charsets.US_ASCII).useLines {...} ' – mabi