[英]How to recover Files delted with File.delete() method in java in Mac
我在我的 Mac 上写了一个小 java 工具来删除像 file[1].jpg 这样的重复文件,它确实有效。 之后我想快速修改它,以便像 file(1).png 这样的文件也被删除。 我在我的正则表达式中犯了一个小错误,并犯了第二个错误,相信自己并认为我不需要测试它。 现在我的桌面没有文件了。
java 是否仅删除指向文件的指针,还是将文件移动到某处以便我可以恢复已删除的文件? 它们不在垃圾箱中。 有没有办法恢复这些文件?
import java.util.regex.*;
import java.util.List;
import java.util.ArrayList;
public class DuplicateFilesDelter{
public static void main(String [] args){
if(args.length!=0){
final File folder = new File(args[0]);
List<File> filesToDelete = new ArrayList<File>();
if(folder.isDirectory()&& folder.exists()){
try{
File[] files = folder.listFiles();
int duplicates = 0;
for(File file : files){
String name = file.getName();
if(Pattern.matches(".*\\[[1-9]\\].*",name)|| Pattern.matches(".*([1-9]).*",name)){
filesToDelete.add(file);
duplicates++;
}
}
System.out.println("Deleting " + duplicates + " duplicates from " + files.length);
int deleted = 0;
for(File f : filesToDelete){
try{
System.out.println("Delting " + f.getName() );
f.delete();
deleted++;
}catch(Exception e){}
}
files = folder.listFiles();
System.out.println("Deleted " + deleted + " Files from " + filesToDelete.size());
System.out.println(files.length + " Files left");
}catch(Exception e){
System.err.println(e.getMessage());
}
}else{
System.out.println( args[0] + "is Directory : " + folder.isDirectory());
System.out.println( args[0] + "exists : " + folder.exists());
}
}
}
}
Java 是否仅删除指向文件的指针,还是将文件移动到某处以便我可以恢复已删除的文件?
Java 告诉操作系统通过unlink
系统调用删除 MacOS / Linux / UNIX 上的文件。
它们不在垃圾箱中。 有没有办法恢复这些文件?
不在 Java 中。 您也许可以使用文件恢复工具来恢复它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.