JAVA图形化界面实现文件的“读取和写入”

来源:互联网 发布:苏菲淘宝旗舰店 编辑:程序博客网 时间:2024/06/06 03:29

本段程序结合I/O和Swing图形界面进行编写
源代码如下

package IO;import java.awt.BorderLayout;import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.BufferedReader;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextArea;import javax.swing.SwingConstants;public class SwingText extends JFrame{    private JFrame frame;    private JTextArea jt;    private JPanel jp1;    private JPanel jp2;    private Container c;    private JButton read;    private JButton write;    private File file;    /*     * 此方法实例化文件对象,如果文件不存在,则新建文件     */    public void createFile(){        file=new File("D:/2.txt");//实例化文件对象        if (!file.exists()) {//判断文件是否存在            try {                file.createNewFile();            } catch (IOException e1) {                // TODO Auto-generated catch block                e1.printStackTrace();            }        }    }    /*     * 此方法返回一个“读取文件”按钮     */    public JButton createReadButton(){        JButton read=new JButton("读取文件");        read.addActionListener(new ActionListener() {            @Override            public void actionPerformed(ActionEvent e) {                // TODO Auto-generated method stub                try {                    FileReader fr=new FileReader(file);//读取文件内容                    BufferedReader br=new BufferedReader(fr);//新建缓存                    String s=null;                    while ((s=br.readLine())!=null) {                        jt.append(s);//设置文本框内容                        jt.append("\n");//增加换行符                    }                } catch (Exception e1) {                    // TODO Auto-generated catch block                    e1.printStackTrace();                }            }        });        return read;    }    /*     * 此方法返回一个“写入文件”按钮     */    public JButton createWriteButton(){        JButton write=new JButton("写入文件");        write.addActionListener(new ActionListener() {            @Override            public void actionPerformed(ActionEvent e) {                // TODO Auto-generated method stub                try {                    FileWriter fw=new FileWriter(file);                    fw.write(jt.getText());//将文本框内容全部写入文件                    fw.close();                    System.out.println("写入文件成功");//在控制台输出提示“文件写入成功”                    jt.setText("");//清空文本框内容                } catch (IOException e1) {                    // TODO Auto-generated catch block                    e1.printStackTrace();                }            }        });        return write;    }    private void go(){        createFile();        frame=new JFrame("文件读取器");        c=frame.getContentPane();        read=createReadButton();//调用方法返回“读取文件”按钮        read.setSize(50, 30);        write=createWriteButton();//调用方法返回“写入文件”按钮        write.setSize(50,30);        jt=new JTextArea(20, 40);//设置文本框行数        jt.setLineWrap(true);// 激活自动换行功能          jt.setWrapStyleWord(true);// 激活断行不断字功能        jp1=new JPanel();        jp1.add(jt);        jp2=new JPanel();        jp2.add(read);        jp2.add(write);        c.add(BorderLayout.NORTH,jp1);        c.add(BorderLayout.SOUTH,jp2);        frame.setVisible(true);        frame.setSize(500,500);    }    public static void main(String[] args) {        new SwingText().go();    }}

文件运行效果图如下
这里写图片描述

原创粉丝点击