1. 程式人生 > 實用技巧 >JavaIO流(四) File檔案物件

JavaIO流(四) File檔案物件

File類是檔案和目錄路徑名的抽象表示形式。它有一些方法用於操作目錄或者檔案
目錄資訊獲取

package com.mike.io.eg;

import java.io.File;

/**
 * @author mike
 * @date 2020-11-25
 * @desc 目錄檔案資訊獲取
 */
public class FileDemo {
	public static void main(String[] args) {
		//測試列印當前系統分隔符
		System.out.println(File.separator+ "\n" + File.pathSeparator);
		//建立檔案物件
		String filepath = "F:\\foo.txt";
		File file = new File(filepath);
		//獲取絕對路徑名字串。
		System.out.println(file.getAbsolutePath());
		//獲取檔案或目錄名稱
		System.out.println(file.getName());
		//獲取路徑名字字串
		System.out.println(file.getPath());
		//獲取路徑名目目錄名字字串,如果沒有指定父目錄則返回null
		System.out.println(file.getParent());
		//返回最後一次修改時間(毫秒)
		System.out.println(file.lastModified());
		//獲取檔案長度,如果表示目錄則返回值未指定
		System.out.println(file.length());

	}


}

目錄檔案判斷方法

package com.mike.io.eg;

import java.io.File;

/**
 * @author mike
 * @date 2020-11-25
 * @desc 目錄檔案判斷方法
 */
public class FileDemo1 {
	public static void main(String[] args) {
		File file = new File("F:\\foo.text");
		//判斷是否是目錄
		System.out.println(file.isDirectory());
		//判斷是否為檔案
		System.out.println(file.isFile());
		//判斷檔案或目錄是否存在
		System.out.println(file.exists());
		//判斷是否可執行
		System.out.println(file.canExecute());
		//判斷是否可讀
		System.out.println(file.canRead());
		//判斷是否可寫
		System.out.println(file.canWrite());
		//判斷是否為隱藏檔案
		System.out.println(file.isHidden());
	}
}

目錄檔案獲取

package com.mike.io.eg;

import java.io.File;
/**
 * @author mike
 * @date 2020-11-25
 * @desc 目錄檔案獲取
 */
public class FileDemo2 {
	public static void main(String[] args) {
		File file = new File("F:\\test");
		//String list(); 返回一個字串陣列,獲取指定目錄下的所有檔案或者目錄名稱的陣列。
		String[] list = file.list();
		for (String s :list) {
			System.out.println(s);
		}

		//File[] listFiles(); 返回一個抽象路徑名陣列,獲取指定目錄下的所有檔案或者目錄的File陣列。
		System.out.println("---------------");
		File[] files = file.listFiles();
		for (File f : files) {
			System.out.println(f.toString());
		}
	}
}

目錄檔案,新建和刪除方法

package com.mike.io.eg;

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

/**
 * @author mike
 * @date 2020-11-25
 * @desc 目錄檔案,新建和刪除方法
 */
public class FileDemo3 {
	public static void main(String[] args) {
		//建立檔案,如果檔案存在則不建立返回false,反之返回true
		File f1 = new File("F:\\f1.txt");
		try {
			if (f1.createNewFile()) {
				System.out.println("檔案建立成功");
			} else {
				System.out.println("檔案已經存在");
			}
		} catch (IOException e) {
			e.printStackTrace();
		}

		//建立目錄,如果此目錄存在則不建立,如果此目錄的上層目錄不存在也不建立
		File f2 = new File("F:\\f2");
		if (f2.mkdir()) {
			System.out.println("目錄建立成功");
		} else {
			System.out.println("目錄建立失敗");
		}

		//遞迴建立目錄,如果上層目錄不存在也會建立
		File f3 = new File("F:\\test\\f3");
		if (f3.mkdirs()) {
			System.out.println("目錄建立成功");
		} else {
			System.out.println("目錄建立失敗");
		}
	}
}

重新命名檔案

package com.mike.io.eg;

import java.io.File;
/**
 * @author mike
 * @date 2020-11-25
 * @desc 重新命名檔案
 */

public class FileDemo4 {
	public static void main(String[] args) {
		File file1 = new File("F:\\f2.txt"); // 被命名檔案一定要存在
		File file2 = new File("F:\\f3.txt");
		if (file1.renameTo(file2)) {
			System.out.println("重新命名成功");
		} else {
			System.out.println("重新命名失敗");
		}

	}
}