<< 返回
import java.io.File;
import java.io.FileReader;
import java.io.Reader;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;
public class OpenFile {
private Notepad notepad = null;
private JFileChooser fileChooser = null;
private File file = null;
private FileNameExtensionFilter filterTXT = null;
private int result = 0;
private Reader in = null;
public OpenFile(Notepad notepad) {
this.notepad = notepad;
this.fileChooser = new JFileChooser();
this.filterTXT = new FileNameExtensionFilter("文本文档(*.txt)", "txt");
this.fileChooser.setFileFilter(this.filterTXT); //设置默认的TXT文件过滤器
result = fileChooser.showOpenDialog(this.notepad.getFrame());
if(result == JFileChooser.APPROVE_OPTION) { //如果点击了“打开”
this.file = fileChooser.getSelectedFile(); //得到已选择的文件
this.readFile();
} else {
this.file = null;
}
}
private void readFile() {
if (this.file != null && this.file.exists() && this.file.canRead()) {
try {
this.in = new FileReader(this.file);
char b[] = new char[(int)this.file.length()];
in.read(b);
String str = new String(b);
in.close();
System.out.println(str);
this.notepad.getTextArea().setText(str);
notepad.setCurrentFile(this.file);
notepad.changTitle(this.file.getName());
notepad.setSavedString(str);
} catch (Exception ex) {
ex.printStackTrace();
}
} else {
System.out.println("发生异常!\nOpenFile.java: readFile()");
}
}
}
<< 返回