File類遍歷目錄及文件


1. 構造函數

File(String args0)//使用一個表示文件或目錄的路徑的字符串創建一個File對象
File(URL args0)//使用一個URL對象創建File對象
File(File args0, String args1)//使用一個File對象(一般是目錄)和一個文件名字符串創建File對象
File(String args0, String args1)//使用一個目錄字符串和一個文件名字符串創建對象

  使用File類需要注意兩點:

  第一,File類用於表示文件或目錄的名稱、大小等信息,不能用於文件內容的訪問

  第二,傳參時路徑中的斜杠需換成反斜杠或雙斜杠

2. 常用方法

exists()//判斷當前文件或目錄是否存在

mkdir()//創建單級目錄,不能創建多級目錄
mkdirs()//創建多級目錄
createNewFile()//按照當前路徑創建文件,使用該方法需要拋出異常,同時路徑不存在時會產生異常

delete()//刪除當前目錄或文件

isDirectory()//判斷當前File對象是否目錄
isFile()//判斷當前File對象是否一個文件

getAbsolutePath()//返回當前目錄或文件的絕對路徑
getName()//返回當前目錄或文件的名稱
getParent()//返回當前目錄或文件的父級路徑

list()//返回一個String數組,為當前目錄下的子目錄和文件,不包括子目錄下的文件或目錄
listFiles()//返回一個File數組,為當前目錄下的子目錄和文件,不包括子目錄下的文件或目錄

3. 范例

  遍歷目錄,將所有層級的所有目錄打印。

import java.io.File;
import java.io.IOException;

public class FileTest {

	public static void main(String[] args) {
		File dir = new File("F:/documents/example");
		listDirectory(dir);
	}
	
	public static void listDirectory(File dir) {
		if (!dir.exists()) {
			throw new IllegalArgumentException("目錄" + dir + "不存在");
		}
		if (!dir.isDirectory()) {
			throw new IllegalArgumentException(dir + "不是目錄");
		}
		File[] files = dir.listFiles();
		if (files != null && files.length > 0) {
			for (File file : files) {
				if (file.isDirectory()) {
					listDirectory(file);
				} else {
					System.out.println(file);
				}
			}
		}
	}

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM