1. 程式人生 > >145_IO_File_常用方法_資料夾操作

145_IO_File_常用方法_資料夾操作

常用方法_資料夾操作

  • Test04_DirMethod.java
package _01.io.file;

import java.io.File;
import java.io.FilenameFilter;
import java.util.Arrays;

/**
 * 5.操作目錄
 * mkdir() 建立目錄->必須確保父目錄存在,如果不存在,建立失敗
 * mkdirs() 建立目錄,如果父目錄鏈不存在一同建立
 * list() 檔案|目錄 名字串形式
 * listFiles() 檔案|目錄 File物件形式
 * static listRoots() 根路徑
 */
public class Test04_DirMethod { public static void main(String[] args) { test1(); } /** * mkdir() 建立目錄->必須確保父目錄存在,如果不存在,建立失敗 * mkdirs() 建立目錄,如果父目錄鏈不存在一同建立 */ public static void test1(){ String path ="E:/IOTest/text/a/temp"; File src =new File(path); //src.mkdir();
src.mkdirs(); } /** * list() 檔案|目錄 名字串形式 * listFiles() 檔案|目錄 File物件形式 */ public static void test2(){ String path ="E:/IOTest/a"; File src =new File(path); //資料夾 if(src.isDirectory()){ //存在並且為目錄 System.out.println("======子目錄|檔名==="); String[] subNames =src.list(); for
(String temp:subNames){ System.out.println(temp); } System.out.println("=====子目錄|檔案File物件===="); File[] subFiles =src.listFiles(); for(File temp:subFiles){ System.out.println(temp.getAbsolutePath()); } System.out.println("=====子檔案.java物件===="); //命令設計模式 subFiles =src.listFiles(new FilenameFilter(){ @Override /** * dir代表src */ public boolean accept(File dir, String name) { //System.out.println(dir.getAbsolutePath()); return new File(dir,name).isFile()&&name.endsWith(".java"); } }); for(File temp:subFiles){ System.out.println(temp.getAbsolutePath()); } } } /** * 輸出子孫級目錄|檔案的名稱(絕對路徑) * 1.listFiles() * 2.遞迴 * static listRoots() 根路徑 */ public static void test03(){ String path ="E:/IOTest/"; File parent =new File(path); printName(parent); File[] roots =File.listRoots(); System.out.println(Arrays.toString(roots)); for(File temp:roots){ printName(temp); } } public static void printName(File src){ if(null==src || !src.exists()){ return ; } System.out.println(src.getAbsolutePath()); if(src.isDirectory()){ //資料夾 for(File sub:src.listFiles()){ printName(sub); } } } }