Java?file類中renameTo方法操作實例
renameTo方法
public boolean renameTo(File dest),F(xiàn)ile類中的renameTo方法可以操作文件或目錄。
1. 操作文件
1.1 在同一目錄下操作

1.重命名前的文件不存在。如圖1.1:若hello1目錄下無a.txt文件,或者hello1目錄根本不存在,執(zhí)行
renameTo方法會返回false。
2.重命名后的文件已存在。如圖1.1:若hello1目錄下已經(jīng)有一個aa.txt文件,執(zhí)行renameTo方法會返回false。
3.重命名前的文件存在,重命名后的文件不存在。如圖1.1:若hello1目錄下有a.txt文件,沒有aa.txt文件。執(zhí)行renameTo方法會返回true。hello1目錄下的a.txt文件被重名為aa.txt文件(a.txt文件消失)。
1.2 在不同目錄下操作

1.重命名前的文件不存在,如圖1.2:若hello1目錄下的a.txt文件不存在,或者該目錄根本就不存在,執(zhí)行renameTo方法會返回false。
2.重命名后的目錄不存在,如圖1.2:若hello2目錄不存在,執(zhí)行renameTo方法會返回false。
3.重命名后的文件已經(jīng)存在,如圖1.2:若hello2目錄下面已經(jīng)有一個aa.txt文件,執(zhí)行renameTo方法會返回false。
4.重命名前的文件存在,重命名后的文件不存在。如圖1.2:若hello1目錄下有一個a.txt文件,hello2目錄下無aa.txt文件,執(zhí)行renameTo方法會返回true。hello1目錄下的a.txt文件會被移動到hello2目錄下被命名為aa.txt文件(hello1目錄下的a.txt文件消失)。
2.操作目錄
2.1在同一目錄下操作

1.重命名前的目錄不存在,如圖2.1:若hello11目錄不存在,執(zhí)行renameTo方法會返回false。
2.重命名后的目錄已存在,如圖2.1:若hello22目錄已經(jīng)存在,執(zhí)行renameTo方法會返回false。
3.重命名前的目錄存在,重命名后的目錄不存在。如圖2.1:若hello11目錄存在,hello22目錄不存在。執(zhí)行renameTo方法會返回true。執(zhí)行完renameTo方法。hello11目錄被命名為hello22(hello11目錄消失)。
2.2在不同目錄下操作

1.重命名前的目錄不存在,如圖2.2:若hello11目錄不存在,執(zhí)行renameTo方法會返回false。
2.重命名后的目錄已存在,如圖2.2:若hello2目錄下面已經(jīng)有一個hello22的子目錄,執(zhí)行renameTo方法會返回false。
3.重命名前的目錄存在,重命名后的目錄不存在。如圖2.2:若hello11目錄存在,hello22目錄不存在。執(zhí)行renameTo方法會返回true。執(zhí)行完renameTo方法。hello1目錄下的hello11目錄移動到hello2目錄下被重命名為hello22(hello1目錄下的hello11目錄消失)。
File.renameTo()無效-解決
File.renameTo()在windows下運行正常,可正常移動文件。但在linux下就失敗了,代碼運行正常,但文件沒有移動。
這種情況下可以使用Files.move代替。
//import java.nio.file.*; //重命名文件 // new File(tempFile).renameTo(new File(outFile)); Files.move(Paths.get(tempFile), Paths.get(outFile), StandardCopyOption.REPLACE_EXISTING);
總結(jié)
到此這篇關(guān)于Java file類中renameTo方法操作的文章就介紹到這了,更多相關(guān)Java file類renameTo方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringMVC之RequestContextHolder詳細解析
這篇文章主要介紹了SpringMVC之RequestContextHolder詳細解析,正常來說在service層是沒有request的,然而直接從controlller傳過來的話解決方法太粗暴,后來發(fā)現(xiàn)了SpringMVC提供的RequestContextHolder,需要的朋友可以參考下2023-11-11
java byte數(shù)組與int,long,short,byte的轉(zhuǎn)換實現(xiàn)方法
下面小編就為大家?guī)硪黄猨ava byte數(shù)組與int,long,short,byte的轉(zhuǎn)換實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10
Java中StringBuffer和StringBuilder_動力節(jié)點Java學院整理
StringBuffer、StringBuilder和String一樣,也用來代表字符串。String類是不可變類,StringBuffer則是可變類,任何對它所指代的字符串的改變都不會產(chǎn)生新的對象。本文重點給大家介紹String、StringBuffer、StringBuilder區(qū)別,感興趣的朋友一起看看吧2017-04-04
SSH框架網(wǎng)上商城項目第19戰(zhàn)之訂單信息級聯(lián)入庫以及頁面緩存問題
這篇文章主要介紹了SSH框架網(wǎng)上商城項目第19戰(zhàn)之訂單信息級聯(lián)入庫以及頁面緩存問題,感興趣的小伙伴們可以參考一下2016-06-06

