0

谁能告诉我如何在 java 中搜索并找到特定的文件扩展名(如 txt),然后将其删除,然后使用已删除的全名创建另一个文件?

我需要这个 java 脚本来查找和删除目录中非常大的 txt 文件,但为了提供信息,我需要通过创建一个带有已删除文件名的空文件来跟踪已删除的文件。

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

有任何想法吗?

4

2 回答 2

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();
    }
于 2013-06-17T14:12:55.080 回答
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();
    }
于 2013-06-17T14:38:14.637 回答