2013-01-23 81 views
1

我試圖將值(在文本區域中鍵入)存儲到txt文件中。以下代碼正在創建program.txt文件,但數據未寫入其中。我究竟做錯了什麼?在.txt文件上寫入數據

如果我想要將這些值保存在用戶指定的.txt文件中,該怎麼辦?

b2.addActionListener(new ActionListener() { 

     @Override 
     public void actionPerformed(ActionEvent arg0) { 
      try { 

       o = new BufferedWriter(new FileWriter("program.txt")); 

       o.write(t1.getText()); 
       o.write(","); 
       o.write(t2.getText()); 
       o.write(","); 
       o.write(t3.getText()); 
       o.write(","); 
       o.write(t4.getText()); 
       o.write(","); 
       o.write(t5.getText()); 
       o.write(","); 
       o.write(t6.getText()); 
       o.write(","); 
       o.write(t7.getText()); 
       o.write(","); 

      } 
      catch (IOException e){ 
       e.printStackTrace(); 
      } 

回答

9

你必須關閉的BufferedWriter,使用BufferedWriter#close()

o.close(); 
+0

工作!謝謝你 –

+1

@ user2003602歡迎您,請不要忘記打勾答案:) – PermGenError

+1

很好的答案。 +1同意,當你有機會時,請[接受](http://meta.stackexchange.com/a/65088/155831)答案。 –

3

爲了方便,也可以使用JTextComponent.write(java.io.Writer)

此外,如果我想將這些值保存在用戶指定的.txt文件中,該怎麼辦?

爲用戶提供JFileChooser,如this example所示。

建立從文件FileWriter返回(檢查後有.txt結束)。

+0

謝謝,但你能幫我解決第二個問題嗎? –

+0

查看更新。雖然請注意,單獨的問題最好在單獨的線程中提出。你應該接受@GanGnaMStYleOverFlow的回答並轉到下一個問題。 –

+0

可以請您多說一點嗎? –