使用java程序删除文件产生.nfs00000xxxx
时间: 2023-06-01 15:03:44 浏览: 120
问题分析:
在Linux系统中,当一个文件被打开时,系统会在文件所在目录生成一个与文件同名的“隐藏文件”(以“.”开头),该文件名为“.filename.swpx”或“.filename.swp”,用于记录文件的编辑状态和锁定信息。这些“隐藏文件”在文件被关闭后会自动删除,但是如果文件被意外关闭或程序异常退出,这些文件可能会残留在文件所在目录中,导致产生类似“.nfs00000xxxx”格式的文件。
解决方案:
如果需要删除这些残留文件,可以使用Java程序调用Linux系统命令进行删除。具体实现代码如下:
```java
import java.io.*;
public class DeleteNfsFile {
public static void main(String[] args) {
String filePath = "/path/to/your/file";
String cmd = "rm " + filePath + ".nfs*";
Runtime runtime = Runtime.getRuntime();
try {
Process process = runtime.exec(cmd);
InputStream inputStream = process.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line = null;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
inputStream.close();
inputStreamReader.close();
bufferedReader.close();
process.waitFor();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
```
其中,filePath为需要删除的文件路径,cmd为执行的Linux命令,使用Runtime.getRuntime().exec()方法执行命令,通过输入流读取命令执行结果,最后使用process.waitFor()方法等待命令执行完成。执行该程序即可删除指定目录下的所有以“.nfs”开头的文件。
阅读全文