1. 程式人生 > 其它 >File類,用於操作檔案物件。

File類,用於操作檔案物件。

package learning;

import java.io.File;

public class FileDemo {
//File類,用於操作檔案物件。練習:
//列出給定目錄中全部檔案,包括子目錄中的檔案
//批量修改給定目錄下的檔案字尾,如改為.txt
public static void main(String[] args) throws Exception{
File file=new File("D:"+File.separator);
listDir(file); //遞迴列出檔案

	//約定最後一個"."開始為字尾名,無後綴的不做修改
	File f=new File("D:"+file.separator+"test"+File.separator);
	renameDir(f);
}

private static void listDir(File file) {
	if (file.isDirectory()) { // 是目錄
		File[] results = file.listFiles();
		if (results != null) {
			for (int i = 0; i < results.length; i++) {
				listDir(results[i]); 
			}
		}
	} else {
		System.out.println(file); // 是檔案,輸出路徑
	}
}

private static void renameDir(File file) {
	if (file.isDirectory()) { // 是目錄
		File[] results = file.listFiles();
		if (results != null) {
			for (int i = 0; i < results.length; i++) {
				renameDir(results[i]); 
			}
		}
	} else {		// 是檔案,修改後綴名
		if(file.getName().contains(".")) {
			String newName=file.getName().substring(0,	file.getName().lastIndexOf(".")	)+".txt";
			file.renameTo(new File(file.getParent(),newName));
		}
		else {
			return;
		}
	}	
}

}