删除文件总是失败

coi*_*urn 1 java file delete-file

我一直试图通过按下按钮从jlist中删除文件,但似乎总是失败.我知道我从jlist获取的路径是正确的,因为我能够打开文件,我也尝试使用此代码使用绝对路径删除文件.有没有人在这里看到任何错误或者我做错了什么?

JButton btnDeleteLog = new JButton("Delete Log");
btnDeleteLog.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        try{
            File file = new File("C:/ProgramData/Logs/" + selectedJLItem);
            file.delete();
            if(file.delete()){
                System.out.println(file.getName() + " Was deleted!");
                ClientWindow.console(file.getName() + " Was Deleted Successfully!");
            }else{
                System.out.println("Delete Operation Failed. Check: " + file);
                ClientWindow.console("Failed To Delete " + file.getName());
            }
        }catch(Exception e1){
            e1.printStackTrace();
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

Ale*_*kov 7

您正尝试删除文件两次.

第一:

file.delete();

第二:

if(file.delete()){ // some processing here }

相反,尝试这样做:

public class Example {
    public static void main(String[] args) {
         try{
             File file = new File("C:/ProgramData/Logs/" + selectedJLItem);

             if(file.delete()){
                 System.out.println(file.getName() + " Was deleted!");
             }else{
                 System.out.println("Delete Operation Failed. Check: " + file);
             }
         }catch(Exception e1){
             e1.printStackTrace();
         }    
    }
}
Run Code Online (Sandbox Code Playgroud)

这是正确的方法,你得到:

Example.txt Was deleted!