if (source == browse) {
            files = new JFileChooser(DEFAULT_DIRECTORY);
            File file = showDialog("读入导入信息", "打开", "打开一个Excel文件", null);
            if (file != null) {
                JOptionPane.showMessageDialog(null, "请按Excel导入数据库下的发送键", "准备好",
                                              JOptionPane.INFORMATION_MESSAGE);
            }
            System.out.print(file);
        }
        System.out.print(file);问题:
    第一个out.print有值!
    第2个 为何 就为null了 ???
    出了  if 会使 file 为空 ??
    说明下:file 没问题 调用方法获得,多疑返回 是有值的!!!!!

解决方案 »

  1.   

    刚发现  一个 问题  就是 file 之前 定义了private File file;
    所以出了 循环 out.print的是初始的那个值,但不应该是输出 初始值 的啊!
      

  2.   

    因为你的第二个file值在方法之外了,这个时候的值应该是你的成员变量的值
    成员变量你没有初始化,所以就为null 了
    当然会打印出初始值,你在里面赋值的File对象是赋给你的里面的对象的.不能赋给外面你先定义了的File对象
      

  3.   

    第二个file在if外, 可能没初始
      

  4.   

    意思就是private File file=null;
    这样我试验了 一样不行?
    why?
    我现在已经 改用 把 File 转换下 存到 String里面可行!
    但是 File  初始了为什么还是不行?>
      

  5.   

    两个file都不一样,一个是if内部的,一个是类的成员,怎么会一样啊,帅哥