日期:2014-05-20  浏览次数:20775 次

又是java.lang.NullPointerException
Java code
JFileChooser jfc=new JFileChooser();
            jfc.setDialogTitle("打开.....");
            jfc.showOpenDialog(null);
            jfc.setVisible(true);
            String fpath=jfc.getSelectedFile().getAbsolutePath();
            //用BufferedReader,先将字符流转化成buffer流。
            FileReader f=null;
            BufferedReader bufr=null;
            try {
                f=new FileReader(fpath);
                bufr=new BufferedReader(f);
                //s应该是string,因为readline读出来的是一行文本。
                String s="";
                String content="";
                while((s=bufr.readLine())!=null)        
                {
                    content+=s+"\r\n";
                }
                jta.setText(content);
            } catch (Exception e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }finally
            {
                try {
                    f.close();
                    bufr.close();
                } catch (IOException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
            }



这是源代码,打开窗口时如果没有选取任何文件,就会出错误。不知道要怎么处理。
问题是处在String fpath=jfc.getSelectedFile().getAbsolutePath()。。。吗?请问这一般要怎么解决啊?

------解决方案--------------------
出错的一般会在控制台上有提示的, 如哪一行, 什么错, 
你就再仔细对照那一行去看代码咯,
这个不是很容易的吗?
------解决方案--------------------
没有选择文件就不要进行下面的读取操作。简单点的,加个if判断下fpath的值,为空不执行读取操作。