0

NullPointerExceptionファイルブラウザを開いてファイルを選択せず​​に閉じるたびに、

    @Override
    public void actionPerformed(ActionEvent e) {
        if(!(dndfolder.exists())) {
            new File(homefolder + "DND").mkdir();
        }
        browse = new JFileChooser(homefolder+"DND");
        returnVal = browse.showOpenDialog(loadchar);
        browse.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
        if(browse.getSelectedFile().exists()) {
            sheet = browse.getSelectedFile();
        }
        if(sheet.exists() && sheet.getName().endsWith(".txt")) {
            if (Desktop.isDesktopSupported()) {
                try {
                    Desktop.getDesktop().edit(sheet);
                } catch (IOException ex) {
                    Logger.getLogger(panel.class.getName()).log(Level.SEVERE, null, ex);
                }
            } else {
                error = "*I don't really know what to put here";
                repaint();
            }
        } else {
            error = "*File type not supported";
                repaint();
        }
    }

テキスト ファイルを開くことはできますが、選択したアイテムが存在しないと失敗します。私はそれをコード化しようとしましたが、動作させることができません。何か案は?

4

1 に答える 1

1
if(browse.getSelectedFile().exists())

ファイルを選択していない場合は、browse.getSelectedFile()おそらく が返されますnullが、先に進んでexists()それを呼び出します。

次のようにする必要があります。

if (browse.getSelectedFile != null && browse.getSelectedFile().exists())
于 2013-05-23T00:11:09.600 に答える