第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java.io.File.renameTo會刪除源文件?

java.io.File.renameTo會刪除源文件?

12345678_0001 2019-03-22 18:15:09
現(xiàn)在我有一個操作,需要調(diào)用java.io.File.renameTo這個方法重命名文件。實現(xiàn)代碼大致如下,public void reNameFile() {File file = new File("C:\folderA\sample.zip");File newFile = new File("C:\folderB\sample.zip");boolean reNameOK = file.renameTo(newFile);boolean deleteOK = file.delete();if (reNameOK) {System.out.println("rename ok");}if((deleteOK){System.out.println("delete ok");}我發(fā)現(xiàn)在調(diào)用renameTo之后,在把sample.zip放到folderB中的同時,folderA中的sample.zip也被刪除了,這樣一來當調(diào)用delete的時候,返回值deleteOK就是false。這是我在windows下測試的結(jié)果,不知道在linux下是怎么樣的。如果renameTo在linux下也能刪除源文件,是不是就不需要調(diào)用delete了?
查看完整描述

2 回答

?
富國滬深

TA貢獻1790條經(jīng)驗 獲得超9個贊

:D 這個方法實際在linux下有可能會失敗。不能保證不同平臺下一樣好用!~~不建議使用。由于安全性及系統(tǒng)盤符所使用的文件格式不一樣導制失?。∟TFS、FAT32)!
commons-io包里面的
[code="java"]FileUtils.copyFile(File,File)[/code]

自己寫個copy的方法也是個不錯的選擇!


查看完整回答
反對 回復(fù) 2019-04-26
?
至尊寶的傳說

TA貢獻1789條經(jīng)驗 獲得超10個贊

API文檔的解釋如下:

public boolean renameTo(File dest)重新命名此抽象路徑名表示的文件。

此方法行為的許多方面都是與平臺有關(guān)的:重命名操作無法將一個文件從一個文件系統(tǒng)移動到另一個文件系統(tǒng),該操作可能不是原子的,如果已經(jīng)存在具有目標抽象路徑名的文件,則該操作可能無法獲得成功。應(yīng)該始終檢查返回值,確保重命名操作成功。

參數(shù): 
dest - 指定文件的新抽象路徑名

返回: 
當且僅當重命名成功時,返回 true;否則返回 false

拋出:

SecurityException - 如果存在安全管理器,且其 SecurityManager.checkWrite(java.lang.String) 方法拒絕對原來的和新的路徑名進行寫入訪問

NullPointerException - 如果參數(shù) dest 為 null

File src = new File( "C:/a.txt "); 
File dst = new File( "C:/b.txt "); 
src.renameTo(dst);這樣就可以成功啦


查看完整回答
反對 回復(fù) 2019-04-26
  • 2 回答
  • 0 關(guān)注
  • 1130 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號