java中File類的常用所有方法及其應用

路徑問題: 

絕對路徑: 該文件在硬盤上的完整路徑。絕對路徑一般都是以盤符開頭的。
相對路徑: 相對路徑就是資源文件相對於當前程序所在的路徑。

 . 當前路徑
 .. 上一級路徑
 

注意: 如果程序當前所在的路徑與資源文件不是在同一個盤下面,是沒法寫相對路徑的。

創建:
createNewFile()在指定位置創建一個空文件,成功就返回true,如果已存在就不創建,然後返回false。
mkdir() 在指定位置創建一個單級文件夾。
mkdirs() 在指定位置創建一個多級文件夾。
renameTo(File dest)如果目標文件與源文件是在同一個路徑下,那麼renameTo的作用是重命名, 如果目標文件與源文件不是在同一個路徑下,那麼renameTo的作用就是剪切,而且還不能操作文件夾。 

刪除:
delete() 刪除文件或者一個空文件夾,不能刪除非空文件夾,馬上刪除文件,返回一個布爾值。
deleteOnExit()jvm退出時刪除文件或者文件夾,用於刪除臨時文件,無返回值。
 判斷:
exists() 文件或文件夾是否存在。
isFile() 是否是一個文件,如果不存在,則始終爲false。
isDirectory() 是否是一個目錄,如果不存在,則始終爲false。
isHidden() 是否是一個隱藏的文件或是否是隱藏的目錄。
isAbsolute() 測試此抽象路徑名是否爲絕對路徑名。
 獲取:
getName() 獲取文件或文件夾的名稱,不包含上級路徑。
getAbsolutePath()獲取文件的絕對路徑,與文件是否存在沒關係
length() 獲取文件的大小(字節數),如果文件不存在則返回0L,如果是文件夾也返回0L。
getParent() 返回此抽象路徑名父目錄的路徑名字符串;如果此路徑名沒有指定父目錄,則返回null。
lastModified()獲取最後一次被修改的時間。

文件夾相關:
static File[] listRoots()列出所有的根目錄(Window中就是所有系統的盤符)
list() 返回目錄下的文件或者目錄名,包含隱藏文件。對於文件這樣操作會返回null。
listFiles() 返回目錄下的文件或者目錄對象(File類實例),包含隱藏文件。對於文件這樣操作會返回null。
list(FilenameFilter filter)返回指定當前目錄中符合過濾條件的子文件或子目錄。對於文件這樣操作會返回null。
listFiles(FilenameFilter filter)返回指定當前目錄中符合過濾條件的子文件或子目錄。對於文件這樣操作會返回null。

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author 王金龍
 * @date 創建時間: 2017-2-9 上午11:32:40
 * @version 1.0
 */
public class FileMethod {

	public static void main(String[] args) throws IOException {
		//創建方法
/*		@SuppressWarnings("unused")
		File file = new File("F:\\a.txt");
		//System.out.println("創建成功了嗎?"+file.createNewFile());
		//System.out.println("單級文件夾創建成功了嗎?"+file.mkdir());
		//System.out.println("多級文件夾創建成功了嗎?"+file.mkdirs());
		//File dest = new File("F:\\電影\\c.txt");
		//System.out.println("重命名成功了嗎?"+file.renameTo(dest));
*/
		
/*      	//刪除方法
		File file = new File("F:\\電影");
		System.out.println("刪除成功了嗎?"+file.delete());
		file.deleteOnExit();
*/
		
		//判斷方法
/*		File file = new File("F:\\a.txt");
		System.out.println("文件或者文件夾存在嗎?"+file.exists());
		System.out.println("是一個文件嗎?"+file.isFile());
		System.out.println("是一個文件夾嗎?"+file.isDirectory());
		System.out.println("是隱藏文件嗎?"+file.isHidden());
		System.out.println("此路徑是絕對路徑名?"+file.isAbsolute());
*/
		
		//獲取方法
/*
 		File file = new File("f:\\a.txt");
		System.out.println("文件或者文件夾得名稱是:"+file.getName());
		System.out.println("絕對路徑是:"+file.getPath());
		System.out.println("絕對路徑是:"+file.getAbsolutePath());
		System.out.println("文件大小是(以字節爲單位):"+file.length());
		System.out.println("父路徑是"+file.getParent());
		//使用日期類與日期格式化類進行獲取規定的時間
		long  lastmodified= file.lastModified();
		Date data = new Date(lastmodified);
		SimpleDateFormat simpledataformat = new SimpleDateFormat("YY年MM月DD日 HH:mm:ss");
		System.out.println("最後一次修改的時間是:"+simpledataformat.format(data));
*/
		
		//文件或者文件夾的方法

		File[] file = File.listRoots();
		System.out.println("所有的盤符是:");
		for(File item : file){
			System.out.println("\t"+item);
		}
		File filename =new File("F:\\Java workspace\\Java");
		String[] name = filename.list();
		System.out.println("指定文件夾下的文件或者文件夾有:");
		for(String item : name){
			System.out.println("\t"+item);
		}
		File[] f = filename.listFiles();
		System.out.println("獲得該路徑下的文件或文件夾是:");
		for(File item : f){
			System.out.println("\t"+item.getName());
			}
		}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章