1. 程式人生 > >JAVA進階(十)File類與列舉

JAVA進階(十)File類與列舉

前言

      本章講解File類的基本用法,為後面講解IO流做一個鋪墊性的準備工作

範例

1.File類的基本概念

java.io.File類:代表檔案和目錄。在開發中,讀取檔案、生成檔案、刪除檔案、修改檔案屬性的時候將會用到本類,可以說很重要

2.構造方法(一般常用的是第二個)

3.絕對路徑與相對路徑

絕對路徑,說白了,就是檔案的具體路徑,如:d:/test.txt;而相對路徑,則是根據當前專案路徑考慮,如../test.txt表示專案根路徑父路徑下的test.txt文件

4.正斜槓“/”與反斜槓“\”

由於作業系統的不同,一般情況下,windows系統下的檔案路徑使用反斜槓、linux系統使用的則是正斜槓,為了防止混淆,File類提供了一個專門的常量值代表斜槓,在不同的作業系統有不一樣的表現形式:

5.常用方法

  • public boolean createNewFile() :建立一個新檔案,如果該檔案已經存在則返回false,成功則返回true

  • pubic boolean delete():刪除資料夾或者檔案,成功則返回true

  • public boolean exists():判斷一個檔案或資料夾是否存在

  • public String getName():返回一個資料夾或者檔案的名稱
  • public String getParent():返回一個資料夾或者檔案的父路徑
  • public String getPath():返回一個資料夾或者檔案的完整路徑

  • public boolean isDirectory():判斷一個File物件是否為資料夾
  • public boolean isFile():判斷一個File物件是否為檔案

  • public boolean mkdir():建立資料夾,基於當前路徑,如未找到該路徑,則建立失敗
  • public boolean mkdirs():建立資料夾,建立所有關聯的資料夾(推薦使用該方法)

 例項:使用遞迴演算法列印目錄樹,實現下面的功能

程式原始碼:

package com.jwang.test;

import java.io.File;

/**
 * 遞迴列印目錄樹
 * @author jwang
 *
 */
public class Test{

	public static void main(String[] args){
		//建立要列印的目錄
		File file = new File("D:\\workspace\\java01");
		
		//列印目錄樹
		printFile(file,0);
	}
	
	public static void printFile(File file,int level){
		for (int i = 0; i < level; i++) {
			System.out.print("  --");
		}
		System.out.println(file.getName());
		if(file.isDirectory()){
			for (File child : file.listFiles()) {
				printFile(child,level+1);
			}
		}
	}
	
}

 6.列舉的基本用法

各位看如下程式碼即可,列舉無需瞭解過多,否則走火入魔