Java 用文件对话框打开文件


Java 用文件对话框打开文件:

  1. //文件的打开   
  2. import java.awt.FileDialog;  
  3. import java.awt.event.*;  
  4. import java.io.*;  
  5. import java.io.File;  
  6. import java.io.FileReader;  
  7.   
  8. public class FileOpen {  
  9.     private FileDialog filedialog_open;  
  10.     private String fileopen = null, filename = null;// 用于存放打开文件地址 和文件名   
  11.     private File file1; // 文件字节流对象   
  12.     private FileReader file_reader;//文件字符流对象   
  13.     private BufferedReader in;//文件行读取 写入对象   
  14.     private StringBuffer text = new StringBuffer();  
  15.       
  16.     HaffmanFrame haffman= null;  
  17.     FileOpen(HaffmanFrame hf) {  
  18.         haffman = hf;  
  19.         filedialog_open = new FileDialog(haffman, "打开文件对话框", FileDialog.LOAD);  
  20.         // 打开文件对话框适配器   
  21.         filedialog_open.addWindowListener(new WindowAdapter() {  
  22.             public void windowClosing(WindowEvent e) {  
  23.                 filedialog_open.setVisible(false);  
  24.             }  
  25.         });  
  26.     }  
  27.   
  28.     public void open() {  
  29.         String s = "";   
  30.         filedialog_open.setVisible(true);  
  31.         fileopen = filedialog_open.getDirectory();// 返回文件对话框中显示的文件所属的目录   
  32.         filename = filedialog_open.getFile();// 返回当前文件对话框中显示的文件名的字符串表示   
  33.                                                 // 如果不存在就返回NULL   
  34.         if (filename != null)// 判断打开的文件是否存在   
  35.         {  
  36.             try {  
  37.                 file1 = new File(fileopen,filename );  
  38.                 file_reader = new FileReader(file1);  
  39.                 in = new BufferedReader(file_reader);//每次读取一行   
  40.                 while ((s = in.readLine()) != null)  
  41.                 text.append(s + '/n');  
  42.                 in.close();  
  43.                 file_reader.close();  
  44.             } catch (IOException e2) {  
  45.                 System.out.println("不能打开文件!");  
  46.             }  
  47.         }  
  48.     }  
  49.     //返回得到的文本字符串   
  50.     public String getText() {  
  51.         return new String(text);  
  52.     }  
  53. }  

相关内容