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进行选择文件后..再对文件进行分析...望大家帮帮忙看是出了什么问题了...谢谢
}

解决方案 »

  1.   

    fileSelected应该有绝对地址吧. 
    最好代码条理性和顺序性强一些.呵呵.
      

  2.   

    没有的..fileSelected没有绝对的地址的....FileIO实现的就像IE里选择 文件-->打开 所弹出的打开窗口...fileSelected就等于所打开的文件..
    我是想打开一个文件文件..然后对文件文件进行字符分析..词分析....FileReader() 我看了 javadoc..不是有一个构造函数是 FileReader(File f) 么..怎么我那样不行的
      

  3.   

    问题是FileIO是什么,fileSelected又是什么,方法么?括号呢?
      

  4.   

    我把 FileIO贴出来吧
    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");
     }  
     }
     }
    }
      

  5.   

    exampleFileFilter.java 在
    jdk1.5.0_04\demo\jfc\FileChooserDemo里
      

  6.   

    WordAnalyze(){
    bReader = new BufferedReader(new FileReader(FileIO.fileSelected));
    }
    改为
    try{
        reader = new BufferedReader(new FileReader(FileIO.fileSelected));
    }catch(FileNotFoundException e){
        System.out.println(e.getStackTrace());
    }
      

  7.   

    public static File fileSelected;这个你在哪里初始化了?
      

  8.   

    另外整个代码编写风格很不好.
    FileIO中的static成员过多, 而且要确定好究竟以哪个类作为main.
    我建议用FileIO作为main比较好, WordAnalyze()构造函数中传入FileIO选中的文件,放在FileIO选择文件响应函数中调用,以实现在选择后自动读取分析文件的异步处理模式.
      

  9.   

    感谢pieapple回复   yanxiazhiqiu(if the words don't come my way...) 
            在class BAct 里
      

  10.   

    那你应该提前加载这个class吧