所以我一直在用Java制作一个程序来组织我所有的文件。我从电影文件开始,因为这是我最喜欢的,但我计划最终能够检查所有文件类型。
无论如何,renameTo
将所有文件移动到新文件夹时我工作得很好。下一步是尝试按字母顺序排列文件。我也可以正常工作,但显然我需要能够删除文章(即“the”、“a”、“an”)才能正确按字母顺序排列。我可以很容易地在我的 ArrayList 中做到这一点,然后决定实际重命名文件。
我做了一个 renameTo 以将文件重命名为相同的文件名减去文章。我用了:
File newb = new File(folder+""+filelist[i].getName().substring(4));
if(filelist[i].renameTo(newb)){}
else{
System.out.println("FAILED");
}
其中文件夹显然是文件所在的文件夹位置,它是原始字符串的子字符串减去单词“The_”或“The”开头的 4 个字符。
然后它尝试将同一文件夹中的文件重命名为自身减去子字符串。
此代码的结果是在调用该文件的 length() 时文件消失并且文件大小被列为 0。在 Windows 资源管理器中找不到该文件,但我的硬盘上没有多余的空间!
现在的问题:
- 这有什么问题?我应该将临时文件放入另一个文件夹还是什么?
- 有没有办法从 Windows 释放文件,这样它们就不会永远堵塞我的硬盘空间?
- 你还有什么需要知道的吗?要添加吗?