Java Swing实现文件的简单读取

用java Swing实现读写文件的操作

开发平台:eclipse

安装WindowsBuilder插件

参考:https://blog.csdn.net/stormdony/article/details/79497030

新建项目及界面布局

1.File->new->Project

选择General->"Project"或者WindowBuilder->SWT Designer->"SWT/JFace Java Project",点击next

Java Swing实现文件的简单读取_第1张图片

Java Swing实现文件的简单读取_第2张图片

2.Ctrl+N 新建类

选择WindowBuilder->Swing Designer->"Application Window"或"JFrame",点击next

Java Swing实现文件的简单读取_第3张图片

3.页面布局

进入设计界面

Java Swing实现文件的简单读取_第4张图片

3.1 使用GroupLayout管理页面布局

java Swing窗体有默认布局,我们需要使用GroupLayout,不受默认布局的约束,在Palette栏Layouts选框下选择GroupLayout,拖动到窗体上

Java Swing实现文件的简单读取_第5张图片

3.2 使用JScrollPane控件为文本区添加滚动条

Palette栏Containers选框下选择JScrollPane,拖动到窗体上,改变大小为文本域显示大小

Java Swing实现文件的简单读取_第6张图片

3.3 选择JTextArea放入JScrollPane

Java Swing实现文件的简单读取_第7张图片

3.4 选择JLable,JTextField,JTextArea,JButton等控件部署在界面上

Java Swing实现文件的简单读取_第8张图片

JTextFeild和JTextArea的区别:

JTextArea,可以在里面输入多行文字
JTextField ,只能在里面输入一行文字,也就是单行文本框,JTextField回车会触发ActionEvent事件

代码

双击界面按钮,编写按钮点击事件代码

定义数据成员:

private File openFile;                        //文件类
private FileInputStream fileInputStream;       //字节文件输入流 
private FileOutputStream fileOutputStream;     //字节文件输出流
private OutputStreamWriter outputStreamWriter; //字符文件输出流

1.Browse浏览系统文件代码:

JButton btnBrowse = new JButton("Browse");    //自动生成
btnBrowse.addActionListener(new ActionListener() {
	public void actionPerformed(ActionEvent e) {
        //自己撰写
		JFileChooser chooser = new JFileChooser(); //文件选择
		chooser.showOpenDialog(chooser);        //打开文件选择窗
		openFile = chooser.getSelectedFile();  	//获取选择的文件
		textPath.setText(openFile.getPath());	//获取选择文件的路径				
	}
});

2.read读取代码

JButton btnRead = new JButton("Read");    //系统自动生成
btnRead.addActionListener(new ActionListener() {
	public void actionPerformed(ActionEvent e) {
        //自己撰写
		openFile = new File(textPath.getText());
		try {
			if(!openFile.exists()){      //如果文件不存在
				openFile.createNewFile();//创建文件
			}
			fileInputStream = new FileInputStream(openFile); //创建文件输入流
			byte b[] = new byte[(int) openFile.length()];  //定义文件大小的字节数据
			fileInputStream.read(b);          //将文件数据存储在b数组
			content = new String(b,"UTF-8"); //将字节数据转换为UTF-8编码的字符串
			textArea.setText(content);        //文本区显示文件内容
			fileInputStream.close();          //关闭文件输入流
		} catch (Exception e1) {
			e1.printStackTrace();
		}
	}
});

3.Save保存文件

JButton btnSave = new JButton("Save");            //自动生成
btnSave.addActionListener(new ActionListener() {
	public void actionPerformed(ActionEvent e) {
        //自己撰写
		openFile = new File(textPath.getText());
		try {
			fileOutputStream = new FileOutputStream(openFile);
			outputStreamWriter = new OutputStreamWriter(fileOutputStream,"utf-8");
			content = textArea.getText();
			outputStreamWriter.write(content);
			outputStreamWriter.flush();		//清空缓存
			outputStreamWriter.close();		//关闭文件字符输出流
			fileOutputStream.close();		//关闭文件字节输出流
			
		} catch (Exception e1) {
			e1.printStackTrace();
		}
		
	}

4.退出系统

在Exit按钮点击响应事件代码里加入:

System.exit(0);

 

你可能感兴趣的:(Java Swing实现文件的简单读取)