Java窗体组件操作文件读与写

Java窗体组件操作文件读与写

开发工具与关键技术:java
作者:陈希雄
撰写时间:2019/5/1

用窗体组件来操作文件的读与写,先看下面的代码吧!
先创建一个类来继承Jframe窗体类


public class Files extends JFrame {
	public Files() {
       //文字大小
		Font font=new Font(null, 20, 16);
		//标题
		setTitle("文件操作小程序");
		setLayout(null);
		setBounds(200, 200, 800, 450);//窗体位置
		//按钮
		JButton b1=new JButton("读取文件");
		JButton b2=new JButton("写入文件");
		//Label标题
		JLabel jl=new JLabel("内容:");
		JLabel jl1=new JLabel("路径:");
		//文本
		JTextArea jt=new JTextArea();
		JTextArea jt1=new JTextArea();
		//面板
		JScrollPane js=new JScrollPane(jt);
		JScrollPane js1=new JScrollPane(jt1);
		Container c=getContentPane();//容器
		//字体大小
		b1.setFont(font);
		b2.setFont(font);
		jl.setFont(font);
		jl1.setFont(font);
		jt.setFont(font);
		jt1.setFont(font);
		//设置工具的宽高和位置
		b1.setBounds(200, 350, 100, 30);
		b2.setBounds(450, 350, 100, 30);
		js.setBounds(70, 40, 600, 300);
		jl.setBounds(10, 10, 100, 100);
		js1.setBounds(70, 10, 600, 25);
		jl1.setBounds(10, 7, 50, 30);
		//添加到容器里面
		c.add(b1);
		c.add(b2);
		c.add(js);
		c.add(jl);
		c.add(js1);
		c.add(jl1);
		//读取文件
        //b1这个按钮添加一个监听事件   
		b1.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent bi) {
				String resultString1= Luj(jt1);//文件路径
				if(resultString1.equals("")) {
					JOptionPane.showMessageDialog(null, "路径不能为空");	//弹出对话框
				}else {
                    //创建一输入字符流
					Reader reader = null;
					try {
						reader = new FileReader(resultString1);
						char[] cs=new char[200];
						int count=0;
						String str1 = "";
						try {
							while((count=reader.read(cs, 0, cs.length))!=-1) {
								str1+=new String(cs,0,count);
								jt.setText(str1);
							}
							JOptionPane.showMessageDialog(null,"读取成功!!!");
						} catch (IOException e) {
							e.printStackTrace();
						}
					} catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(null, "路径格式不正确, 提示:例如D:\\课件\\123.txt 或者 D:/课件/123.txt ");	//弹出对话框
					}finally {
						try {
							reader.close();
						} catch (IOException e) {
							e.printStackTrace();
						}
					} 
				}
			}
		});
		//写入文件
		b2.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent b02) {
				String resultString1= Luj(jt1);//文件路径
				if(resultString1.equals("")) {
					JOptionPane.showMessageDialog(null, "路径不能为空");	//弹出对话框
				}else {
					Writer in = null;
					try {
						in = new FileWriter(resultString1);
						in.write(jt.getText());
						in.flush();
						in.close();
						JOptionPane.showMessageDialog(null,"写入成功!!!");
						} catch (IOException e) {
							JOptionPane.showMessageDialog(null, "路径格式不正确, 提示:例如:D:\\课件\\123.txt 或者 D:/课件/123.txt ");	//弹出对话框
						}finally {
							try {
								in.close();
							} catch (IOException e) {
								// TODO Auto-generated catch block
								e.printStackTrace();
							}
						}
				}
			}
		});
		setVisible(true);//开启窗体
		//设置关闭方式
	   setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);	
	}
	public static String Luj(JTextArea JTextArea) {//这是一个用正则来匹配的方法
		String str= JTextArea.getText();//获取文本内容 "H:\lianxi\test.txt"
		String resultString = str.replaceAll("(?m)\"| ", "");
		String resultString1 = resultString.replaceAll("(?m)\\\\", "/");
		return resultString1;
	}
     public static void main(String[] args) {
    	 new Files();//实例
	}
}

效果
写出去:
Java窗体组件操作文件读与写
Java窗体组件操作文件读与写
读进来:
Java窗体组件操作文件读与写