javax.swing.JFrame打开、保存文本文件
javax.swing.JFrame打开、保存文本文件
package com.jframe_2; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import javax.swing.*; import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileNameExtensionFilter; public class MyJFrame extends JFrame{ private JFileChooser jfcFile;//文件选择框 private JLabel jl; private JTextArea jta; private JButton jbopen; private JButton jbsave; private JButton eliminate; private JTextField jtf; public MyJFrame() { setTitle("文本文件操作"); Container c = getContentPane();//创建一个容器 jfcFile = new JFileChooser(); FileFilter filter = new FileNameExtensionFilter("文本文件","txt","ini");//文件过滤 jfcFile.setFileFilter(filter);//设置当前文件过滤器。文件选择器使用文件过滤器从用户的视图中过滤文件。 jl = new JLabel("文件:"); jtf = new JTextField(); jbopen = new JButton("打开"); jta = new JTextArea(); jbsave = new JButton("保存"); eliminate = new JButton("清除"); c.add(jl); c.add(jtf); c.add(jbopen); c.add(jbsave); c.add(jta); c.add(eliminate); jl.setBounds(10, 10, 50, 20); jtf.setBounds(60, 10, 250, 20); jta.setBounds(60, 40, 300, 200); jbopen.setBounds(320, 10, 70, 20); jbsave.setBounds(290, 280, 70, 20); eliminate.setBounds(10, 280, 70, 20); jta.setLineWrap(true);//文本域自动换行 c.setLayout(null); setBounds(0, 0, 500, 400); jbopen.addActionListener(new ActionListener() { //‘打开’按钮事件 @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub jbopenAcionPerformed(e); } }); jbsave.addActionListener(new ActionListener() { //‘保存’按钮事件 @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub jbsaveActionPerformed(e); } }); eliminate.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { //‘清空’按钮事件 // TODO Auto-generated method stub jta.setText(""); jta.requestFocus(); } }); setVisible(true); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } public void jbopenAcionPerformed(ActionEvent e){ try { if(jfcFile.showOpenDialog(this)!=JFileChooser.APPROVE_OPTION) { return; } String strFileName=jfcFile.getSelectedFile().getAbsolutePath(); BufferedReader in = new BufferedReader(new FileReader(strFileName)); String strLine = in.readLine(); //读取一行内容 String strContent=""; boolean IsFirst=true; while(strLine != null ) { if(!IsFirst) { strContent+=" "; } strContent+=strLine; IsFirst=false; strLine = in.readLine(); } in.close(); jtf.setText(strFileName); jta.setText(strContent); } catch(Exception ex){ JOptionPane.showMessageDialog(this, ex.getMessage()); } } public void jbsaveActionPerformed(ActionEvent e) { try{ String strFileName=jtf.getText(); if(strFileName.equals("")) { if(jfcFile.showSaveDialog(this)!=JFileChooser.APPROVE_OPTION) { return; } strFileName=jfcFile.getSelectedFile().getAbsolutePath(); jtf.setText(strFileName); } String strContent=jta.getText(); strContent=strContent.replace(" ", " "); BufferedWriter out = new BufferedWriter(new FileWriter(strFileName)); out.write(strContent); out.close(); }catch(Exception ex){ JOptionPane.showMessageDialog(this, ex.getMessage()); } } public static void main(String[] args) { // TODO Auto-generated method stub new MyJFrame(); } }