java 移動文件,並修改名稱方式
java 移動文件,並修改名稱
從source文件夾剪切1.txt,移動到target文件夾,並重命名為2.txt
//從source文件夾剪切1.txt,移動到target文件夾,並重命名為2.txt File startFile=new File("D:\\source\\1.txt"); File endFile=new File("D:\\target\\2.txt"); if (startFile.renameTo(endFile)) { System.out.println("文件移動成功!目標路徑:{"+endFile.getAbsolutePath()+"}"); } else { System.out.println("文件移動失敗!起始路徑:{"+startFile.getAbsolutePath()+"}"); }
復制單級文件夾中指定的文件並修改名稱
* 需求:復制指定目錄下的指定文件,並修改後綴名。 * 指定的文件是:.java文件。 * 指定的後綴名是:.jad * 指定的目錄是:jad * * 數據源:e:\\java\\A.java * 目的地:e:\\jad\\A.jad * * 分析: * A: 封裝目錄 * B: 獲取該目錄下的java文件的File數組 * C: 遍歷該File數組,得到每一個File對象 * D: 把該File進行復制 * E: 在目的地目錄下改名
package cn.itcast_04; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FilenameFilter; import java.io.IOException; /* * 需求:復制指定目錄下的指定文件,並修改後綴名。 * 指定的文件是:.java文件。 * 指定的後綴名是:.jad * 指定的目錄是:jad * * 數據源:e:\\java\\A.java * 目的地:e:\\jad\\A.jad * * 分析: * A:封裝目錄 * B:獲取該目錄下的java文件的File數組 * C:遍歷該File數組,得到每一個File對象 * D:把該File進行復制 * E:在目的地目錄下改名 */ public class CopyFolderDemo { public static void main(String[] args) throws IOException { // 封裝目錄 File srcFolder = new File("e:\\java"); // 封裝目的地 File destFolder = new File("e:\\jad"); // 如果目的地目錄不存在,就創建 if (!destFolder.exists()) { destFolder.mkdir(); } // 獲取該目錄下的java文件的File數組 File[] fileArray = srcFolder.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return new File(dir, name).isFile() && name.endsWith(".java"); } }); // 遍歷該File數組,得到每一個File對象 for (File file : fileArray) { // System.out.println(file); // 數據源:e:\java\DataTypeDemo.java // 目的地:e:\\jad\DataTypeDemo.java String name = file.getName(); File newFile = new File(destFolder, name); copyFile(file, newFile); } // 在目的地目錄下改名 File[] destFileArray = destFolder.listFiles(); for (File destFile : destFileArray) { // System.out.println(destFile); // e:\jad\DataTypeDemo.java // e:\\jad\\DataTypeDemo.jad String name =destFile.getName(); //DataTypeDemo.java String newName = name.replace(".java", ".jad");//DataTypeDemo.jad File newFile = new File(destFolder,newName); destFile.renameTo(newFile); } } private static void copyFile(File file, File newFile) throws IOException { BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file)); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(newFile)); byte[] bys = new byte[1024]; int len = 0; while ((len = bis.read(bys)) != -1) { bos.write(bys, 0, len); } bos.close(); bis.close(); } }
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- java面試try-with-resources問題解答
- Java深入淺出說流的使用
- java.io.File的renameTo方法移動文件失敗的解決方案
- 帶你快速搞定java IO
- 你肯定能看懂的Java IO相關知識總結