【年少的风】文件信息的读取与写入

 

  
  
  
  
  1. import java.awt.*;  
  2. import javax.swing.*;  
  3. import java.awt.event.*;  
  4. import javax.swing.colorchooser.*;  
  5. import java.io.*;  
  6.  
  7. public class FileGUI extends JFrame {  
  8.     JFrame frame = new JFrame();  
  9.     static Container container;  
  10.     JTextField tfPath;  
  11.     JTextArea taText;  
  12.       
  13.     public static void main(String[] args) {  
  14.         FileGUI f = new FileGUI();  
  15.         f.myFrame();  
  16.     }  
  17.  
  18.     public void myFrame() {  
  19.         frame = new JFrame("读取和写入数据");  
  20.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  21.         JPanel panel1 = new JPanel();  
  22.         JPanel panel2 = new JPanel();  
  23.  
  24.         taText = new JTextArea(1530);  
  25.         JLabel lable = new JLabel("文件所在目录:");  
  26.         tfPath = new JTextField(20);  
  27.         JButton btOpen = new JButton("打开");  
  28.         btOpen.addActionListener(new MyListener(this));  
  29.         JButton btSave = new JButton("保存");  
  30.         btSave.addActionListener(new MyListener(this));  
  31.  
  32.         panel1.setLayout(new BorderLayout());  
  33.         panel1.add(taText);  
  34.         panel1.add(new JScrollPane(taText));  
  35.  
  36.         panel2.add(lable);  
  37.         panel2.add(tfPath);  
  38.         panel2.add(btOpen);  
  39.         panel2.add(btSave);  
  40.  
  41.         frame.add(panel1, BorderLayout.CENTER);  
  42.         frame.add(panel2, BorderLayout.SOUTH);  
  43.  
  44.         frame.setSize(600400);  
  45.         frame.setVisible(true);  
  46.     }  
  47. }  
  48.  
  49. class MyListener implements ActionListener {  
  50.  
  51.     FileGUI f = new FileGUI();  
  52.  
  53.     MyListener(FileGUI f) {  
  54.         this.f = f;  
  55.     }  
  56.  
  57.     public void actionPerformed(ActionEvent e) {  
  58.  
  59.         if (e.getActionCommand().equals("打开")) {  
  60.             JFileChooser chooser = new JFileChooser();  
  61.             int returnVal = chooser.showOpenDialog(FileGUI.container);  
  62.  
  63.             if (returnVal == JFileChooser.APPROVE_OPTION) {  
  64.  
  65.                 String str = chooser.getSelectedFile().getPath();  
  66.                 f.tfPath.setText(str);  
  67.                 try {  
  68.                     File file = new File(str);  
  69.                     int num = (int) file.length();  
  70.                     char[] ch = new char[num];  
  71.                     FileReader fr = new FileReader(str);  
  72.                     while ((fr.read(ch)) != -1) {  
  73.  
  74.                         String temp = new String(ch);  
  75.                         f.taText.setText(temp);  
  76.                     }  
  77.                     fr.close();  
  78.                 } catch (Exception ee) {  
  79.                     f.taText.setText(ee.toString());  
  80.                 }  
  81.             }  
  82.         }  
  83.  
  84.         if (e.getActionCommand().equals("保存")) {  
  85.  
  86.             String filePath = f.tfPath.getText();  
  87.             String fileContent = f.taText.getText();  
  88.             try {  
  89.                 FileWriter fw = new FileWriter(filePath);  
  90.                 fw.write(fileContent);  
  91.                 JOptionPane.showMessageDialog(null"数据写入成功""成功提示对话框",  
  92.                         JOptionPane.INFORMATION_MESSAGE);  
  93.                 f.taText.setText("");  
  94.                 fw.close();  
  95.             } catch (Exception eee) {  
  96.                 f.taText.setText(eee.toString());  
  97.             }  
  98.         }  
  99.     }  
  100. }  

 

你可能感兴趣的:(java,文件,输出流,输入流,年少的风)