黑马程序员技术交流社区
标题:
File的renameTo()问题
[打印本页]
作者:
何超
时间:
2013-11-29 20:16
标题:
File的renameTo()问题
本帖最后由 何超 于 2013-11-30 09:14 编辑
import java.io.File;
public class B{
/**
* @param args
*/
public static void main(String[] args)throws Exception
{
// TODO Auto-generated method stub
File file1=new File("E:\\WOW.txt");
File file2=new File("E:\\HOH.txt");
System.out.println(file1.renameTo(file2));
}
}
复制代码
一直返回false 不管我用的绝对路径还是相对路径 全是false 完全无力
不是 createrNewFile()的问题 会自动创建文件
求解答为什么一直false
作者:
王明明
时间:
2013-11-29 20:41
事实证明 是正确的 我运行过了
应该是你E盘里面没有相对应的文件
QQ图片20131129204007.jpg
(48.24 KB, 下载次数: 90)
下载附件
2013-11-29 20:40 上传
作者:
王明明
时间:
2013-11-29 20:46
看来是我理解错了 确实是FLASE
作者:
王贺
时间:
2013-11-29 20:47
刚才测试了一下,
楼主代码可以这么写下:
File file1=new File("E:\\WOW.txt");
file1.createNewFile();//我想这句话还是有必要的吧,首先你用这个方法是想代替move这个动作,当然要让这个文件存在吧
File file2=new File("D:\\HOH.txt");
System.out.println(file1.exists()+" "+file2.exists());//这里返回ture和false
System.out.println(file1.renameTo(file2)); //这里测试是true
希望能帮到你,
还有就是,盘之间的renameto也要注意盘的格式,比如NTFS和FAT32好像不能用这个方法,失败的概率很大。还有就是这个方法要慎用,由于它跟系统关系很大,出错的概率很大
作者:
25343215
时间:
2013-11-29 20:49
这个问题我想分两种情况:
第一中情况:E:\\WOW.txt 要已经存在,这样的话重命名成功就会返回true,如果WOW.txt文件本事不存在那将返回false。
另一种情况:如果E盘下,已经存在WOW.txt 和HOH.txt时,那也是会返回false。因为文件名相同导致的。
作者:
王明明
时间:
2013-11-29 21:19
我createNewFile()自动创建了 一直是跟楼主一样是FALSE
有一次我自己创建了2个文件为TRUE 但后来我又试了下 又不行了
人品问题 还是系统问题?
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2