テキストファイルを読み取って(サイズを気にせず、適度に小さいのでjava.io
問題ありません)、その内容をJTextArea
forにダンプして表示するのが最も効率的な方法であることに興味があります。
たとえば、ファイル全体を1つの文字列で消費し、それJTextArea.setText
を表示するために使用できますか、それとも行ごとまたはバイト配列を読み取り、それらをStringBufferに入力して、テキスト領域をそれに設定する必要がありますか?
ありがとう
テキストファイルを読み取って(サイズを気にせず、適度に小さいのでjava.io
問題ありません)、その内容をJTextArea
forにダンプして表示するのが最も効率的な方法であることに興味があります。
たとえば、ファイル全体を1つの文字列で消費し、それJTextArea.setText
を表示するために使用できますか、それとも行ごとまたはバイト配列を読み取り、それらをStringBufferに入力して、テキスト領域をそれに設定する必要がありますか?
ありがとう
を使用JTextComponent.read(Reader, Object)
して渡すことができますFileReader
。これを行うだけです:
Java 7 -- try-resource ブロック
try (FileReader reader = new FileReader("myfile.txt")) {
textArea.read(reader, null);
}
Java 6 -- try-finally ブロック
FileReader reader = null;
try {
reader = new FileReader("myfile.txt");
textArea.read(reader, null);
} finally {
if (reader != null) {
reader.close();
}
}
ファイルの内容全体を読み取るのではなく、JTextArea
コンポーネントが a を使用しReader
てファイルの を読み取れるようにすることができInputStream
ます。
FileReader fr = new FileReader(fileName);
textArea.read(fr, null);