找到txt文件,为每个文件创建一个空文件,然后删除原始文件

时间:2013-06-17 13:58:13

标签: java file find delete-file

有人能告诉我如何在java中搜索并找到特定的文件扩展名,如txt,然后删除它,然后用删除的全名创建另一个文件?

我需要这个java脚本来查找和删除目录中真正大的txt文件,但出于信息目的,我需要通过创建一个包含已删除文件名的空文件来跟踪已删除的文件。

例如: 在文件夹x下,它找到文件name.txt 300MB或任何大小。它会删除它。然后它创建一个名为:name.txt的空文件,大小为1KB左右,而不是删除的文件。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果你没有使用Java7,这是一个解决方案。否则看看@Heuster的评论。

    File dir = new File("/directoryToFile");
    File [] files = dir.listFiles(new FilenameFilter() {
        @Override
        public boolean accept(File dir, String name) {
            return name.equals("fileName.txt");
        }
    });
    if(files != null && files.length > 0){
        File f = new File(files[0].getAbsolutePath());
        files[0].delete();
        f.createNewFile();
    }

答案 1 :(得分:0)

试试这个

    for (File file : new File(dir).listFiles()) {
        // delete
        file.delete();
        // create a new file with the same name and len = 1024
        RandomAccessFile f = new RandomAccessFile(file, "rw");
        f.setLength(1024);
        f.close();
    }