Java で解決しようとしている小さな問題について、いくつかの提案を受け取りたいと思います。
次の形式のファイルがあります。
@
some text
some text
some text
@
some text
some text
some text
@
some text
some text
some text
...等々。
このテキスト ファイルの次のチャンクを読み取ってから、読み取ったチャンクを構成する InputStream オブジェクトを作成し、その InputStream オブジェクトをパーサーに渡す必要があります。テキスト ファイル内のすべてのチャンクに対して、これらの操作を繰り返す必要があります。各チャンクは、@ で始まる行の間に書き込まれます。問題は、InputStream から各チャンクを読み取るパーサーを使用して、@ タグ間の各セクションを解析することです。
テキストファイルが大きくなる可能性があるので、良いパフォーマンスを得たいです。
どうすればこの問題を解決できますか?
私はこのようなことを考えました:
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
Scanner scanner = new Scanner(bufferedReader);
scanner.useDelimiter("@");
List<ParsedChunk> parsedChunks = new ArrayList<ParsedChunk>();
ChunkParser parser = new ChunkParser();
while(scanner.hasNext())
{
String text = scanner.next();
InputStream inputStream = new ByteArrayInputStream(text.getBytes("UTF-8"));
ParsedChunk parsedChunk = parser.parse(inputStream);
parsedChunks.add(parsedChunk);
inputStream.close();
}
scanner.close();
しかし、それが良い方法かどうかはわかりません。
ありがとうございました。