Java用swing界面读写文件的问题

qq_36157162 2017-12-08 02:43:14
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class form1 {

public static void main(String args[] ) {
JFrame f1=new JFrame();
f1.setTitle("文本文件");
FlowLayout flow1=new FlowLayout();
final JTextArea a1=new JTextArea(20,30);
JPanel p1=new JPanel();
JPanel p2=new JPanel();
JButton b1=new JButton("写入");
JButton b2=new JButton("读取");
Container c=f1.getContentPane();
c.add(p1, "North");
c.add(p2,"Center");
p1.add(a1);
p2.setLayout(flow1);
p2.add(b1);
p2.add(b2);
//f1.setResizable(false);
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f1.setBounds(100,100,400,400);
c.add(p1,"North");
c.add(p2,"Center");
f1.setVisible(true);

b1.addActionListener(new ActionListener(){
String result=null;
BufferedReader buffer=null;
FileReader read=null;
public void actionPerformed(ActionEvent event)
{
try
{
read=new FileReader("C:\\Users\\lenovo\\Desktop\\liuziyi.txt");
buffer=new BufferedReader(read);
try
{
String read1=null;
while((read1=buffer.readLine())!=null)
{
result=result+read+"\r\n";
}
}catch(Exception e)
{
e.printStackTrace();
}
}
catch(Exception e)
{
System.out.println("无法读取");
}


}
});
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
try
{
Writer w=new FileWriter("C:\\Users\\lenovo\\Desktop\\liuziyi.txt");
a1.write(w);
}
catch(Exception e) {
System.out.println("无法写入");
}
}
});


}
}

代码运行结果就是没有反应,而且我点击写入后原先文本里的信息都清空了,不知道这是怎么回事,请大家看看
...全文
209 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
pheonix0992 2017-12-08
  • 打赏
  • 举报
回复
读取函数,在while循环之后,调用下buffer.close就可以获取道读取的数据了。
kampoo 2017-12-08
  • 打赏
  • 举报
回复
尝试一下:在退出前调用w.flush 或者 w.close,让缓存写到磁盘中。

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧