java 中的renameTO怎么用?
javaAPI里对renameTO解释:publicbooleanrenameTo(Filedest)重新命名此抽象路径名表示的文件。此方法行为的许多方面都是与平台有关的...
java API里对renameTO解释:
public boolean renameTo(File dest)重新命名此抽象路径名表示的文件。
此方法行为的许多方面都是与平台有关的:重命名操作无法将一个文件从一个文件系统移动到另一个文件系统,该操作可能不是原子的,如果已经存在具有目标抽象路径名的文件,则该操作可能无法获得成功。应该始终检查返回值,确保重命名操作成功。
参数:
dest - 指定文件的新抽象路径名
返回:
当且仅当重命名成功时,返回 true;否则返回 false
按照我的理解,使用时应该要类似File a=new File("sfd"); a.renameTo(new File("afd"));这样的,可是为什么要这样做呢?重命名只是改变文件名,直接a.renameTo("asfs")这样子不是更好吗?为什么renameTo的参数是一个File对象而不是直接是一个String呢? 展开
public boolean renameTo(File dest)重新命名此抽象路径名表示的文件。
此方法行为的许多方面都是与平台有关的:重命名操作无法将一个文件从一个文件系统移动到另一个文件系统,该操作可能不是原子的,如果已经存在具有目标抽象路径名的文件,则该操作可能无法获得成功。应该始终检查返回值,确保重命名操作成功。
参数:
dest - 指定文件的新抽象路径名
返回:
当且仅当重命名成功时,返回 true;否则返回 false
按照我的理解,使用时应该要类似File a=new File("sfd"); a.renameTo(new File("afd"));这样的,可是为什么要这样做呢?重命名只是改变文件名,直接a.renameTo("asfs")这样子不是更好吗?为什么renameTo的参数是一个File对象而不是直接是一个String呢? 展开
3个回答
展开全部
java中对于File类中的renameTo()方法,可以如下方式调用:
File old = new File(source);
File rname = new File(dest);
System.out.println(old.renameTo(rname));
使用时,注意事项为:
1.source不管是代表一个目录,还是一个文件的路径都必须是在磁盘上存在的,如:E:\access\A代表,在E盘的access文件夹下有一个名字为A的文件夹;或E:\access\cookie2.java表示在E盘的access文件夹下有一个名字为cookie2.java的文件。
2.dest则恰恰相反,代表一个不存在的目录或文件路径(仅限最后一个'\'后面文件夹或文件的不存在,其余的目录必须已存在)。
其中1,2两点必须同时具备,否则出错(返回false)。
File old = new File(source);
File rname = new File(dest);
System.out.println(old.renameTo(rname));
使用时,注意事项为:
1.source不管是代表一个目录,还是一个文件的路径都必须是在磁盘上存在的,如:E:\access\A代表,在E盘的access文件夹下有一个名字为A的文件夹;或E:\access\cookie2.java表示在E盘的access文件夹下有一个名字为cookie2.java的文件。
2.dest则恰恰相反,代表一个不存在的目录或文件路径(仅限最后一个'\'后面文件夹或文件的不存在,其余的目录必须已存在)。
其中1,2两点必须同时具备,否则出错(返回false)。
展开全部
File类肯定比String安全系数高。因为File file = new File("A.TXT");之后
file可以从相对路径查找到绝对路径。。对于文件参数取代字符串参数,可以在不同路径下传递而不容易出错。。
举个例子,Servlet中直接new File(".") ,你可以输出绝对路径看看,它的目录是在webapp目录下,而非项目文件夹下。但有时候一些框架,比如smartupload,它上传一个文件到服务器之后,是以项目文件夹作为根目录的。因为ServletContext里可以取得当前项目的相对路径。如果你直接传递一个相对路径的文件名过去,那边在自己的根目录里查找却找不到该文件。所以传递File是很安全的。
以上只是举个例子,正确性不保证,反正有这么个情况。
file可以从相对路径查找到绝对路径。。对于文件参数取代字符串参数,可以在不同路径下传递而不容易出错。。
举个例子,Servlet中直接new File(".") ,你可以输出绝对路径看看,它的目录是在webapp目录下,而非项目文件夹下。但有时候一些框架,比如smartupload,它上传一个文件到服务器之后,是以项目文件夹作为根目录的。因为ServletContext里可以取得当前项目的相对路径。如果你直接传递一个相对路径的文件名过去,那边在自己的根目录里查找却找不到该文件。所以传递File是很安全的。
以上只是举个例子,正确性不保证,反正有这么个情况。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public boolean renameTo(File dest)修改的是一个文件的路径加文件名,不是修改文件名!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询