2017-12-29 6 views
0

私は単純なメモ帳を作っています。これは、JTextAreaのコンテンツをファイルに保存します。しかし、私は問題がある、私は複数行のテキストを保存することはできません。JTextAreaからJavaのファイルに複数行を保存する方法

JTextArea textArea = new JTextArea(); 
File writeFile; 
FileWriter fileWriter = null; 
BufferedWriter bufWriter = null; 

writeFile = new File("note.txt"); 
try { 
    fileWriter = new FileWriter(writeFile); 
    bufWriter = new BufferedWriter(fileWriter); 
    bufWriter.write(textArea.getText()); 
    bufWriter.close(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

は、例えば、私はボタンやテキストエリアを持っている:

は、ここに私のコードです。

test line 1 
test line 2 

と入力して保存すると、ファイルが作成されます。ファイルの内容はこのようになります

test line 1test line 2 

私は詳細な答えを教えてください、私は正しく理解することができます。私はJavaのGUIで新しいです。

ありがとうございました。

+0

あなたのJTextAreaにはテキストが含まれていませんが、あなたの問題は何ですか?より具体的にしてください。 –

+0

明確ではありません。しかし、複数行を使用するには、JTextAreaを複数行にする必要があります。この領域を複数行にするには、属性を設定する必要があります。 – Jack

+0

申し訳ありませんが、私はこれにいくつかの例を挙げています。皆さんが私の問題を解決できることを願っています。 – James

答えて

1

あなたのコードを試した後、あなたのコードはテキストを1行に保存するだけです。テキスト領域に、たとえばそれは、この

最初の行
二行目
三行目

のように見えますが、ファイルにはあなただけ、もし

最初linesecond linethirdライン

を得ましたこのコードを使用できる場合です。

File writeFile; 
    Writer writer = null; 

    writeFile = new File("D:\\note.txt"); 
    try { 
     writer = new BufferedWriter(new OutputStreamWriter(
       new FileOutputStream(writeFile), "utf-8")); 
     jTextArea1.write(writer); 
    } catch (IOException ex) { 
     // report 
    } finally { 
     try { 
      writer.close(); 
     } catch (Exception ex) {/*ignore*/ 
     } 
    } 

このコードでは、jtextareaのwriterを使用しているので、jtextareaに表示されているようにテキストが保存されます。

希望このヘルプ

+0

このコードは好きなように機能しましたか? – ikiSiTamvaaan

+0

それは仕事です、ありがとうございます。しかし、OutputStreamWriterとFileOutputStreamの代わりにFileWriterを使用する機会はありますか? – James

+0

私が読んだカップルの記事から、jtextareaの1行にある文字の数に基づいてテキストを分割し、存在するすべての行に手動で行を追加することで可能です。しかし、これまでのところ、このコードは私が見つけた最も簡単な方法です – ikiSiTamvaaan

関連する問題