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。

推薦閱讀: