Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法删除java代码中的excel文件获取错误,因为该进程无法访问该文件,因为另一个进程正在使用该文件_Java_Multithreading - Fatal编程技术网

无法删除java代码中的excel文件获取错误,因为该进程无法访问该文件,因为另一个进程正在使用该文件

无法删除java代码中的excel文件获取错误,因为该进程无法访问该文件,因为另一个进程正在使用该文件,java,multithreading,Java,Multithreading,使用java代码删除excel文件时出错 以下是例外 java.io.FileNotFoundException:D:\Finance Reports\ArvindBTA.xlsx( 进程无法访问该文件,因为另一个进程正在使用该文件 过程) 我使用的代码是 final File file=new File("E:\\book1.xlsx"); Runtime.getRuntime().exec("cmd /c taskkill /f /im excel.exe"); new Thread(ne

使用java代码删除excel文件时出错 以下是例外

java.io.FileNotFoundException:D:\Finance Reports\ArvindBTA.xlsx( 进程无法访问该文件,因为另一个进程正在使用该文件 过程)

我使用的代码是

final File file=new File("E:\\book1.xlsx");
Runtime.getRuntime().exec("cmd /c taskkill /f /im excel.exe");

new Thread(new Runnable() 
{

    @Override
    public void run() 
    {

        try {
               Thread.currentThread().sleep(2000);// you need to wait 1-2 sec to close file before delete
               file.delete();   

           } catch (InterruptedException e) {

            e.printStackTrace();
        } 
    }
}).start();

您应该检查您试图删除的文件是否存在

请参考相同的语法

file.exists()
使用此检查可以确保文件存在

因此,如果删除,您的代码应该是

if(file.exists())
  file.delete();  

您还需要检查指定的路径上是否有文件。E:\book1.xlsx

我尝试过使用file.exist(),但它不起作用,并且文件存在于同一路径中。是否有其他方法使用java删除文件