relax_cat_another 2015-09-07 10:39 采纳率: 75%
浏览 1375
已采纳

这段代码为什么无法实现写入和读取,求解答,谢谢!

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;
import java.io.*;
public class Filetest4 extends JFrame{
public static JTextArea getjt(){
JTextArea jt=new JTextArea();
return jt;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame jf=new JFrame();
Container c=jf.getContentPane();

    JScrollPane js=new JScrollPane();
    js.setViewportView(getjt());
    JButton open=new JButton("写入文件");
    open.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
            File file=new File("word.txt");
            try{
                FileWriter out=new FileWriter(file);
                String s=getjt().getText();
                out.write(s);
                out.close();
            }catch(Exception o){
                o.printStackTrace();
            }
        }
    });
    JButton close=new JButton("读取文件");
    close.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent e){
            File file=new File("word.txt");
            try{
                FileReader in=new FileReader(file);
                char[] ch=new char[1024];
                int len=in.read(ch);
                getjt().setText(new String(ch,0,len));
                in.close();
            }catch(Exception o){
                o.printStackTrace();
            }
        }
    });
    JPanel jp=new JPanel(new FlowLayout());
    jp.add(open);
    jp.add(close);
    c.setLayout(new BorderLayout());
    c.add(js,BorderLayout.CENTER);
    c.add(jp,BorderLayout.SOUTH);
    jf.setSize(200,200);
    jf.setVisible(true);
    jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


}

}

  • 写回答

1条回答 默认 最新

  • 纵横车 2015-09-07 12:04
    关注

    因为你每次getjt()的时候都是new一个JTextArea,新new的JTextArea里面没有输入,所以取出来的字符串是空,所以无法写入文件。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应