2013-01-23 112 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

可以请您多说一点吗? –