读书人

忧闷的是用java这么久了居然file.re

发布时间: 2013-03-21 10:08:17 作者: rapoo

郁闷的是用java这么久了,居然file.renameTo()方法没有成功一次
无论实在公司开发机器上,还是在自己个人机器上,试验使用file.renameTo()方法对文件进行重命名,都会失败,没有一次成功过,不知到JDK API中为什么会有这样的方法存在,奶奶的。网上也有很多人遇到我同样的问题。


有谁能解释下原因不?
[解决办法]


//可能我人品比较好,一试就成功
import java.io.*;

public class TestRenameTo {
public static void main(String[] args) {
File filea = new File("c:/a.dat");
if (filea.renameTo(new File("c:/a_backup.dat")))
System.out.println("rename successful");
else
System.out.println("rename fail");
try {
Process process = Runtime.getRuntime().exec("cmd ava -version");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
String line = null;
while ((line = bufferedReader.readLine()) != null)
System.out.println(line);
} catch (IOException e) {
e.printStackTrace();
}
}
}



// 结果:
rename successful
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
[解决办法]
这个不是API的问题,这些命名规则跟操作系统有关系。
引用:
我做过很多实验过后,发现renameTo()方法的新文件名称中不能还有任何符号包括(“ ”,“_”,“:”),只要去掉文件名中的符号就可以了。

读书人网 >J2SE开发

热点推荐