无法使用java重命名文件
我目前正试图使用java将一些文本附加到文件名的末尾,但似乎什么都没有发生。我以前从未使用过java来操作文件,但通过在线发帖,我想到了这个无法使用java重命名文件,java,file,rename,Java,File,Rename,我目前正试图使用java将一些文本附加到文件名的末尾,但似乎什么都没有发生。我以前从未使用过java来操作文件,但通过在线发帖,我想到了这个 for (File f : fullFileList) { System.out.println(f.getName()); if (moveToFailed(f)) { /*
for (File f : fullFileList)
{
System.out.println(f.getName());
if (moveToFailed(f))
{
/*
* Moved to failed successfully
*/
File newf= new File(f.getAbsolutePath() + ".processed");
f.renameTo(newf);
}
}
有人能帮忙吗?
谢谢
文件正在成功移动,因此它正在进入该循环
更新:
boolean moveToFailed(File f) // Moves file to failed directory
{
try
{
FileUtils.moveToDirectory(f, failedDirectory, true);
return true;
} catch (IOException e)
{
System.out.println("Couldn't move " + f.getName()
+ " to failed directory!\n" + e.getMessage());
return false;
}
请显示moveToFailed函数。renameTo返回一个布尔值,它可以帮助您确定调用是否成功。您还应该尝试捕获此操作的SecurityException。谢谢-renameTo返回false,但没有异常。FileUtils来自哪里?好的,这就是我想知道的。FileUtils.moveToDirectory似乎移动了实际文件,但没有更改文件对象中的路径。我想这是因为无法访问该属性。奇怪的是,从我的测试来看,f.renameTonewf看起来也不会改变对象f中的路径,尽管在这种情况下,您有代表新路径的newf。这应该做什么,OP的代码没有做什么?为什么会有不同?
String name = sourceFile.getName();
String dstName = name + ".processed";
File dest = new File(sourceFile.getParent(), dstName);