繁体   English   中英

如何使用该文件名的SubString删除文件

[英]How to delete file Using SubString of that File Name

我有文件喜欢

LOG_EXPORT_TIME_STAMP_IMAGES-LOG1-T20130119_000817
LOG_EXPORT_TIME_STAMP_IMAGES-LOG1-T20130119_000818
LOG_EXPORT_TIME_STAMP_IMAGES-LOG1-T20130119_000819

在位置"C:\\temp"我想删除所有文件,无论以"LOG_EXPORT_TIME_STAMP_IMAGES"开头。我已经做了一些谷歌并获得了像

File file = new File("c:\\Temp\\LOG_EXPORT_TIME_STAMP_IMAGES-LOG1-T20130119_000817");

file.delete()

但我发现我必须传递该文件的全名。 我可以通过传递该文件的子字符串来完成吗?

首先列出目录中的文件

File[] files = directory.listFiles();

然后迭代数组并单独删除每个文件。 这可以让您更好地控制选择要删除的文件。

这些方面的东西:

File directory = new File("C:\temp");
File[] files = directory.listFiles();
for (File f : files)
{
    if (f.getName().startsWith("LOG_EXPORT_TIME_STAMP_IMAGES"))
    {
      f.delete();
    }
}

使用FilenameFilter处理具有已知模式的文件名。

在你的情况下,尝试这样的事情:

File[] files = directory.listFiles(new FilenameFilter()
     {
         public boolean accept(File dir, String name)
         {
             if(name.startsWith(<your string here>)
             {
                 return true;
             }
             return false;
         }

     });

然后迭代返回文件数组以删除它们。

您需要完整的文件名,因此您必须获取目录中的文件列表并对其进行迭代以确定要删除的文件。

这篇文章展示了如何获取文件列表并使用它。 它确实处理目录内的目录。 列出Java中目录和子目录中的所有文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM