av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

java file.renameTo返回false的原因及解決方案

瀏覽:2日期:2022-08-09 10:46:11
java file.renameTo返回false原因

需要對文件夾下的文件重命名,發現返回false了,先用main方法測試,發現沒問題,如下

public static void main(String[] args) throws IOException {File file1 = new File('D:aabb.xml');File file2 = new File('D:ccdd.xml');boolean b = file1.renameTo(file2);System.out.println(b); // true }

最后發現,是一個文件是用文件流寫的,流沒用close,導致文件重命名失敗了,模擬如下

public static void main(String[] args) throws IOException {File file1 = new File('D:aabb.xml');FileWriter out = new FileWriter(file1);File file2 = new File('D:ccdd.xml');boolean b = file1.renameTo(file2);System.out.println(b);// false }最終也是很好解決

找個合適的地方close就好了

public static void main(String[] args) throws IOException {File file1 = new File('D:aabb.xml');FileWriter out = new FileWriter(file1);out.close();File file2 = new File('D:ccdd.xml');boolean b = file1.renameTo(file2);System.out.println(b);//true }java File.renameTo方法,需要注意的坑

最近在接手老項目的時候,遇到File.renameTo(File file)方法,不清楚特性,于是研究了下源碼,發現底層調用的是Native方法實現的。

本身帶著對其用法的困惑,寫了一個測試用例來揭開它的神秘面紗,發現兩個在使用時值得注意的點。

測試用例代碼如下:

import java.io.File;import java.io.IOException; public class TestRenameTo { public static void main(String[] args) { File file = new File('f:1.txt'); if (!file.isFile()) { try {file.createNewFile(); } catch (IOException e) {e.printStackTrace(); } } //調用renameTo()前 System.out.println(file.exists()); file.renameTo(new File('f:2.txt')); //調用renameTo()后 System.out.println(file.exists()); }}

第一次運行程序,目錄下1.txt和2.txt均不存在

得到結果如下:

java file.renameTo返回false的原因及解決方案

java file.renameTo返回false的原因及解決方案

可以看出調用renameTo前后,1.txt先是存在,然后消失,最后文件夾中生成了2.txt。

為了方便比較第二次結果,往2.txt寫入些內容,“hello world!”(原諒我的中二 ^-^)

java file.renameTo返回false的原因及解決方案

第二次運行程序,目錄下已存在2.txt,得到結果如下:

java file.renameTo返回false的原因及解決方案

java file.renameTo返回false的原因及解決方案

java file.renameTo返回false的原因及解決方案

2.txt中的內容并沒有被替換掉,證明此次重命名沒有成功。

總結: 如果被重命名的文件已存在,那么renameTo()不會成功 renameTo()成功后,原文件會被刪除

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 国产韩国精品一区二区三区 | 久久精品中文 | 国产免费拔擦拔擦8x高清 | 四虎最新视频 | 欧美日韩国产一区二区 | 中文字幕精品视频 | 日韩一区二区福利视频 | 日韩中文字幕在线不卡 | 亚洲视频在线播放 | 久久看精品 | 亚洲成人免费视频在线 | 国产一区二区三区四区区 | 毛片av免费在线观看 | 国产精品污www在线观看 | 久久精品国产一区 | 2019天天操 | 日韩精品在线播放 | 成人免费在线观看 | 亚洲iv一区二区三区 | 一区二区三区国产 | 国产精品国产精品国产专区不蜜 | 国产一区在线免费 | 午夜av电影 | 欧美日韩在线电影 | 亚洲精品一区二区三区 | 日韩成人中文字幕 | 日韩av在线不卡 | 中文字幕精品视频 | 夜夜骑综合| av网站在线播放 | 欧美成人aaa级毛片在线视频 | 久久久网 | 亚洲高清视频一区二区 | 日本黄色大片免费 | 色999视频 | 国产精品大片在线观看 | 午夜三区| 国产一区二区三区免费视频 | 精品欧美一区二区在线观看视频 | www精品美女久久久tv | 成人免费观看男女羞羞视频 |