テキストエリアをファイルに保存することは可能ですか?
FileWriter fw = new FileWriter(file1.getAbsoluteFile(), true);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(txtArea1);
私は得る:
txtArea1 は変数に解決できません。
私は何を間違っていますか?
を参照してくださいJTextComponent.write(Writer)
。
モデルの内容を指定されたストリームに格納します。デフォルトでは、モデルはプレーン テキストとして保存されます。
したがって、例は次のようになります。
FileWriter fw = new FileWriter(file1.getAbsoluteFile(), true);
txtArea1.write(fw);
プレーン テキストの GUI コンポーネントをファイルに保存する理由はほとんどありません。コンテンツのみを保存する必要がある場合は、 で取得できるコンテンツ文字列を保存することをお勧めしますgetText()
。
ただし、実行できるいくつかの設定JTextArea
(タブ サイズなど) を保存する必要がある場合があります。そのために、私はXMLEncoderを使用することを提案します:
XMLEncoder e = new XMLEncoder(
new BufferedOutputStream(
new FileOutputStream("save.xml")));
e.writeObject(txtArea1));
e.close();
これにより、デフォルト以外のすべての設定とコンテンツ文字列が保存されます。シリアル化でも可能ですが、この形式は異なる仮想マシン間で移植性が低くなります。
あなたはそれを宣言する必要があります:
JTextArea txtArea1 = new JTextArea();
次に、保存するときに保存しますtxtArea1.getText();