public class WordAnalyze { /**
* @param args
*/
BufferedReader bReader;
WordAnalyze(){
bReader = new BufferedReader(new FileReader(FileIO.fileSelected));
//为什么会有 FileNotFoundException的错误出现啊
//fileSelected是同一个包里的别一个类的一个public 的File 参数的来
}
}public class FileIO { /**
* @param args
*/ public static File fileSelected; ......
......
...... 其中里面有些函数对fileSelected进行了操作...
我的意图是先用filechooser进行选择文件后..再对文件进行分析...望大家帮帮忙看是出了什么问题了...谢谢
}
* @param args
*/
BufferedReader bReader;
WordAnalyze(){
bReader = new BufferedReader(new FileReader(FileIO.fileSelected));
//为什么会有 FileNotFoundException的错误出现啊
//fileSelected是同一个包里的别一个类的一个public 的File 参数的来
}
}public class FileIO { /**
* @param args
*/ public static File fileSelected; ......
......
...... 其中里面有些函数对fileSelected进行了操作...
我的意图是先用filechooser进行选择文件后..再对文件进行分析...望大家帮帮忙看是出了什么问题了...谢谢
}
最好代码条理性和顺序性强一些.呵呵.
我是想打开一个文件文件..然后对文件文件进行字符分析..词分析....FileReader() 我看了 javadoc..不是有一个构造函数是 FileReader(File f) 么..怎么我那样不行的
FileIO还要用到别一个jdk里 choooserdemo里的 examplefilefilter..
我用的jdk是1.5import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
//import javax.swing.event.*;
//import javax.swing.filechooser.*;
//import javax.swing.filechooser.FileFilter;public class FileIO { /**
* @param args
*/
public static JFrame jf;
public static Button Bchoose;
public static JFileChooser chooser;
static ExampleFileFilter filter;
public static File fileSelected;
public static int returnVal;
public static JScrollPane logjsp;
public static JTextArea log;
FileIO(){
Bchoose = new Button("Choose a File!!!");
Bchoose.addActionListener(new BAct());
log = new JTextArea(5,50);
log.setEditable(false);
logjsp = new JScrollPane(log);
filter = new ExampleFileFilter();
filter.addExtension("tm");
JFrame.setDefaultLookAndFeelDecorated(true);
jf = new JFrame("SNL Complier");
jf.setLayout(new BorderLayout());
jf.setSize(600,300);
jf.add(Bchoose,BorderLayout.SOUTH);
jf.add(logjsp,BorderLayout.CENTER);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//jf.pack();
jf.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new FileIO();
}
}
class BAct implements ActionListener {
public void actionPerformed(ActionEvent e) {
// try{
FileIO.chooser = new JFileChooser();
FileIO.chooser.setFileFilter(FileIO.filter);
FileIO.log.append("Choosing file!!! \n");
// }catch(exception){
// log.append("FileChooser initial failed!!! \n");
// }
if(e.getSource() == FileIO.Bchoose){
FileIO.returnVal = FileIO.chooser.showDialog(FileIO.jf,"choose");
if(FileIO.returnVal == JFileChooser.APPROVE_OPTION){
FileIO. fileSelected = FileIO.chooser.getSelectedFile();
//succeed in opening the file
FileIO.log.append("Open:"+FileIO.fileSelected.getName()+"\n");
FileIO.log.append(FileIO.fileSelected.toString()+"\n");
}else{
FileIO.log.append("You haven`t done anything!!! \n");
}
}
}
}
jdk1.5.0_04\demo\jfc\FileChooserDemo里
bReader = new BufferedReader(new FileReader(FileIO.fileSelected));
}
改为
try{
reader = new BufferedReader(new FileReader(FileIO.fileSelected));
}catch(FileNotFoundException e){
System.out.println(e.getStackTrace());
}
FileIO中的static成员过多, 而且要确定好究竟以哪个类作为main.
我建议用FileIO作为main比较好, WordAnalyze()构造函数中传入FileIO选中的文件,放在FileIO选择文件响应函数中调用,以实现在选择后自动读取分析文件的异步处理模式.
在class BAct 里