我喜欢在同一目录中有两个名称几乎相同的文件,如“myfile_1234.mp4”和“myfile_5678.mp4”。一个文件,例如,“myfile_1234.mp4”大小是ZERO字节,而另一个文件说“myfile_5678.mp4”有一些大小不等于零(比如说32kb)。现在我想删除目录中的第一个文件,但不删除其他文件。
我们可以使用指向目录中文件的循环临时指针,然后检查文件大小,并在大小为零时将其删除。
有人可以帮我吗??
答案 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