簡單的Java IO操作 修改檔名稱
阿新 • • 發佈:2019-02-16
本人菜鳥一枚,這是第一篇技術部落格。這篇文章其實沒什麼技術含量,只是博主即興所寫,研究的問題也是很常見的Java IO知識,真要說目的性,那就是為了滿足自己的強迫症了。
先說下檔名修改。修改檔名是IO操作比較基本的知識,使用File類的renameTo()就可以實現。
貼下檔案的磁碟地址:F:\oldName.docx。
截圖:
程式碼:
package basic;
import java.io.File;
import java.util.UUID;
/**
* Created with IntelliJ IDEA.
* User: nulihouzi
* Date: 13-7-17
* Time: 下午7:28
*/
public class FileRename {
public static void main(String[] args) {
File file = new File("F:" + File.separator + "oldName.docx");
//獲取檔案的絕對路徑
String absolutePath = file.getAbsolutePath();
//獲取檔名
String oldName = file.getName();
//獲取檔案安裝目錄
String directory = absolutePath.substring(0, absolutePath.lastIndexOf(oldName));
//獲取檔案字尾名
String postfix = oldName.substring(oldName.lastIndexOf("."), oldName.length());
//新檔名
String newName = "newName";
//重新命名檔案
file.renameTo(new File("F:" + File.separator + newName + postfix));
}
}
執行程式碼,看結果:檔名已經被修改了。
這時我們可以改一下最後一行程式碼:
package basic;
import java.io.File;
import java.util.UUID;
/**
* Created with IntelliJ IDEA.
* User: nulihouzi
* Date: 13-7-17
* Time: 下午7:28
*/
public class FileRename {
public static void main(String[] args) {
File file = new File("F:" + File.separator + "newName.docx");
//獲取檔案的絕對路徑
String absolutePath = file.getAbsolutePath();
//獲取檔名
String oldName = file.getName();
//獲取檔案安裝目錄
String directory = absolutePath.substring(0, absolutePath.lastIndexOf(oldName));
//獲取檔案字尾名
String postfix = oldName.substring(oldName.lastIndexOf("."), oldName.length());
//新檔名
String newName = "oldName";
//重新命名檔案
file.renameTo(new File(newName + postfix));
}
}
這段程式碼和上段的區別在於:最後一句程式碼沒有指定檔案的儲存目錄,這時檔案儲存在哪兒呢?執行程式碼,我們先看原始的磁碟地址:
這是我們發現之前的檔案在重新命名之後消失了,我昨天在搜尋關於檔案重新命名程式碼的資訊時,看到了一技術人員對該問題的解釋是:程式碼執行後,由於未指定檔案的存放路徑,檔案被刪除了。真的是這樣嗎?
我們使用下windows的搜尋功能:
我們找到了重新命名後的檔案,在沒有指定檔案的磁碟路徑時,重新命名後的檔案被儲存在idea的project根路徑下。
後記:這段程式碼很簡單,相信各位看官很快就能看完。但也告訴我們:實踐是檢驗真理的唯一標準。在我們被海量資訊包圍的時候,我們應該保持清醒的頭腦,多問自己幾個為什麼,多動手實踐看到的,聽到的所謂真理,這樣我們才能不斷進步,才能戰勝我們自身的懶惰。與各位看官共勉。由於和朋友聊天,時間上無法再陳述便利磁碟檔案的個人所得,留到下次吧。博文中如有不妥之處,忘各位批評指正,本人很是珍惜完善自己的每次機會。