Java秋千两个按钮通讯

时间:2019-07-04 07:04:22

标签: java swing button

在我的swing应用程序中,我需要选择一个文件,然后在终端中编译该文件。但是在编译之前,我想删除所选文件目录中是否存在其他文件。 我有文件路径,但是我需要父文件夹路径来检查其他文件。

load.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
        JFileChooser j = new JFileChooser(FileSystemView.getFileSystemView().getHomeDirectory()); 
        int r = j.showSaveDialog(null); 
        if (r == JFileChooser.APPROVE_OPTION) { 
            l.setText("File Ready"); 
            File selectedFile = j.getSelectedFile(); 
            path=selectedFile.getAbsolutePath(); 
        } else 
            l.setText("the user cancelled the operation"); 
    } 
}); 
compile.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent e) { 
        Runtime rt = Runtime.getRuntime(); 
        Process proc = null; 
        BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream())); 
        BufferedReader stdError = new BufferedReader(new InputStreamReader(proc.getErrorStream())); 
        String s = null; 
        StringBuilder builder = new StringBuilder(); 
        File folder = new File(path); 
       for (File f : folder.listFiles()) {
                if (f.getName().endsWith(".txt")) {
                    f.delete(); 
    }
});

1 个答案:

答案 0 :(得分:0)

在这部分您犯了一个错误

 File folder = new File(path); 
       for (File f : folder.listFiles()) {
                if (f.getName().endsWith(".txt")) {
                    f.delete(); 

File folder = new File(path);行将提供文件引用而不是文件夹引用,因此,如果您在路径中列出其他文件,则将没有任何内容。

将其更改为File folder = new File(path).getParentFile();您具有父文件夹。现在列出并删除所需的文件。

希望这会有所帮助!