Java File 类 rename方法

Java File 的 rename方法,为什么执行效率那么低。我使用rename方法移动图片,移动一张图片是七八秒时间,测试的都要杀了我了啊。之后改成,使用io流读取文件,然后复制文件,删除。花费时间很低很低。图片只有200多k。为什么rename方法效率那么低。求解答啊

4个回答

File类包含众多对文件进行操作的方法,如下
1、构造子索引

File(File dir, String name) ----------- 创建一个 File 实例,表示指定路径指定名称的文件。 
File(String path) ------------ 创建一个 File 实例,表示路径名是指定路径参数的文件。
File(String path, String name) --......
答案就在这里:java File类的一些方法
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

u012489091
zhang爽 你好,你的解答我没看懂啊。我问的是为什么效率那么低,可那篇文章只是介绍了这个方法,至于为什么说的还不是很清楚啊
大约 4 年之前 回复

你好,你的解答我没看懂啊。我问的是为什么效率那么低,可那篇文章只是介绍了这个方法,至于为什么说的还不是很清楚啊

按我的个人经验,不应该发生这种情况的。
我到是觉得读文件再写文件,最后删除文件应该更慢些才对。
renameTo方面最终调用的是本地方法,应该不慢的:
protected native boolean rename0(File f1, File f2);

本地方法依赖与操作系统,可能是你的系统设置上可以调优。

简单点,直接写一个测试程序。其他无关的代码都不要。这样测试看看。
我用过rename这个方法,没有你说的那么慢。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问