我需要用.afp
文件名重命名一个.txt
文件。在尝试让这件事正常工作时,我偶然发现了许多“解决方案”,但没有任何帮助。
比方说,我有一个txt文件C:/test/a/Mytes t.txt
,我想重新命名.afp
文件,该文件是C:/files/b/Testf ile.afp
。这就是我想要做的(根据本网站上找到的解决方案),但它不起作用。我剪掉了.txt
文件的扩展名,只得到了文件名:
String fileNameNoExt=fileName.substring(0, fileName.lastIndexOf('.'));
//fileName is .txt file name
File file = new File(afpSRC, afpName);
file.renameTo(new File(afpSRC, fileNameNoExt + ".afp"));
afpSRC
包含文件所在.afp
文件夹的路径,是文件afpName
的名称。
谁能告诉我为什么这不起作用并且.afp
文件名保持不变?
可能是因为File file = new File(afpSRC, afpName);
不引用现有文件。
我怀疑要么afpSRC
不是父路径,要么afpName
不是文件名。或两者 ?
要进行调试,您应该首先检查该文件是否存在。
如果不存在,则抛出异常。
除了以任何方式(调试和最终代码)之外,您应该检查返回的值renameTo()
并因此处理它。
这是一个示例代码:
String fileNameNoExt=fileName.substring(0, fileName.lastIndexOf('.'));
//fileName is .txt file name
File file = new File(afpSRC, afpName);
if (!file.exists()){
throw new RuntimeException("file not found = " + file);
}
boolean isRenamed = file.renameTo(new File(afpSRC, fileNameNoExt + ".afp"));
System.out.println("isRenamed = " + isRenamed);
if (!isRenamed){
// handle the problem
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句