我有类似的文件
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();
}
}
关于java - 如何使用该文件名的子字符串删除文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14412613/