1. 程式人生 > >JavaSE 文件遞歸之刪除&獲取文件夾文件夾中全部的以.jpg的文件的絕對路徑

JavaSE 文件遞歸之刪除&獲取文件夾文件夾中全部的以.jpg的文件的絕對路徑

dig tor 控制 folder 輸出 java arr -s delet

1.遞歸刪除文件

假設一個文件夾以下還有子文件夾,進行刪除的話會 報錯,這個時候要使用遞歸的方式來刪除這個文件文件夾中的全部文件以及文件夾

package cn.itcast.digui;

import java.io.File;

/**
 * 遞歸刪除demo目錄中全部文件包含目錄
 * 分析:
 * A:封裝目錄
 * B:獲取改目錄下的全部文件或者目錄
 * C:遍歷改file數組,得到每個File對象
 * D:推斷該file對象是都是目錄
 * 	是:回到B
 *      否:刪除
 * @author Administrator
 *
 */
public class GiGuiDelete {
	public static void main(String[] args) {
		File srcFile=new File("demo");
		deleteFolder(srcFile);
	}
	private static void deleteFolder(File srcFile) {
		File[] files = srcFile.listFiles();
		for(File f:files){
			if(f.isDirectory()){
				deleteFolder(f);//遞歸調用
			}else{
				System.out.println(f.getName()+"---"+f.delete());//刪除文件
			}
		}
		System.out.println(srcFile.getName()+"---"+srcFile.delete());//刪除空的目錄
	}
}
對於測試結果,能夠進行debug測試,這裏我就不進行測試了!

2.獲取文件夾文件夾中全部的以.jpg的文件的絕對路徑

package cn.itcast_03;

import java.io.File;

/*
 * 需求:請大家把E:\JavaSE文件夾下全部的java結尾的文件的絕對路徑給輸出在控制臺。

* * 分析: * A:封裝文件夾 * B:獲取該文件夾下全部的文件或者文件夾的File數組 * C:遍歷該File數組。得到每個File對象 * D:推斷該File對象是否是文件夾 * 是:回到B * 否:繼續推斷是否以.java結尾 * 是:就輸出該文件的絕對路徑 * 否:不搭理它 */ public class FilePathDemo { public static void main(String[] args) { // 封裝文件夾 File srcFolder = new File("E:\\JavaSE"); // 遞歸功能實現 getAllJavaFilePaths(srcFolder); } private static void getAllJavaFilePaths(File srcFolder) { // 獲取該文件夾下全部的文件或者文件夾的File數組 File[] fileArray = srcFolder.listFiles(); // 遍歷該File數組,得到每個File對象 for (File file : fileArray) { // 推斷該File對象是否是文件夾 if (file.isDirectory()) { getAllJavaFilePaths(file); } else { // 繼續推斷是否以.java結尾 if (file.getName().endsWith(".java")) { // 就輸出該文件的絕對路徑 System.out.println(file.getAbsolutePath()); } } } } }

對於測試大家能夠使用debug模式進行查看



JavaSE 文件遞歸之刪除&獲取文件夾文件夾中全部的以.jpg的文件的絕對路徑