删除Java中具有相似名称的文件

时间:2014-01-05 22:32:15

标签: java file

我喜欢在同一目录中有两个名称几乎相同的文件,如“myfile_1234.mp4”和“myfile_5678.mp4”。一个文件,例如,“myfile_1234.mp4”大小是ZERO字节,而另一个文件说“myfile_5678.mp4”有一些大小不等于零(比如说32kb)。现在我想删除目录中的第一个文件,但不删除其他文件。

我们可以使用指向目录中文件的循环临时指针,然后检查文件大小,并在大小为零时将其删除。

有人可以帮我吗??

2 个答案:

答案 0 :(得分:5)

这是一项相对简单的练习。以下是您需要了解的事情,以了解该做什么:

  • 目录由File对象表示。为要列出的目录创建File对象
  • listFiles()调用会生成目录
  • 中所有文件的数组
  • length()方法返回文件的大小
  • delete()方法删除文件

您的代码如下所示:

// Reference the directory in which the files reside
File dir = new File("c:/my/test/directory");
// Go through the files in the directory in a loop
for ( File file : dir.listFiles()) {
    // Make sure that an entry is a file (it could be a directory)
    // and that its size is zero
    if (file.isFile() && file.length() == 0) {
        // If both conditions are true, delete the empty file
        file.delete();
    }
}

您可以制定其他条件来检查文件是否具有特定名称,扩展名等。

答案 1 :(得分:4)

您可以创建一个像

这样的文件(句柄)
File myFileOne = new File(path);
File myFileTwo = new File(anotherPath);

有了这样的句柄,很容易检查文件大小或名称并删除文件。有关Java文件的更多信息,请参阅:http://docs.oracle.com/javase/6/docs/api/java/io/File.html#File