1. 程式人生 > >Java File基本方法使用

Java File基本方法使用

1、檢視磁碟空間大小

程式碼片段:

public class Main {
	//getFreeSpace()檢視可用空間
	public static void main(String[] args) {
		File file = new File("E:");
		long space = file.getFreeSpace();
		System.out.println("可用空間:" + space);
	}

}

顯示結果:

可用空間:48155090944

 

2、判斷某檔案是否是目錄

程式碼片段:

public class Main {
	//isDirectory()判斷檔案是否是目錄
	public static void main(String[] args) {
	     File file = new File("F:\\BaiduYunDownload");
	     boolean isDirectory = file.isDirectory();
	     System.out.println(isDirectory);
	}

}

顯示結果:

true

 

3、判斷資料夾是否存在

程式碼片段:

public class Main {
	//exists判斷資料夾是否是存在
	public static void main(String[] args) {
	     File file = new File("F:\\BaiduYunDownload");
	     boolean exists  = file.exists();
	     System.out.println(exists);
	}

}

結果顯示:

true

 

4、獲取檔案建立時間

程式碼片段:

public class Main {
	//lastModified獲取檔案建立時間
	public static void main(String[] args) {
	     File file = new File("F:\\book.xml");
 	     long lastModified  = file.lastModified();
	     System.out.println(lastModified);
	}
}

結果顯示:

1529474874639

 

5、getTotalSpace()獲取目錄的所有空間

程式碼片段:

public class Main {
	//getTotalSpace()獲取目錄的所有空間
	public static void main(String[] args) {
	     File file = new File("F:");
 	     long space  = file.getTotalSpace();
	     System.out.println(space);
	}
}

結果顯示:

142368096256

 

6、獲得檔案/資料夾的絕對路徑

程式碼片段:

public class Main {
	//getAbsolutePath()獲取檔案/資料夾的絕對路徑
	public static void main(String[] args) {
	     File file = new File("F:\\DB_CarManagement\\src");
 	     String path = file.getAbsolutePath();
	     System.out.println(path);
	}
}

結果顯示:

F:\DB_CarManagement\src

 

7、判斷是否為檔案

程式碼片段:

public class Main {
	//isFile()判斷是否是檔案
	public static void main(String[] args) {
	     File file = new File("F:\\DB_CarManagement\\src\\xieyi.txt");
 	     boolean isFile = file.isFile();
	     System.out.println(isFile);
	}
}

結果顯示:

true

 

8、檔案重新命名

程式碼片段:

public class Main {
	//renameTo()重新命名
	public static void main(String[] args) {
	     File file = new File("F:\\DB_CarManagement\\src\\xieyi.txt");
 	     file.renameTo(new File("F:\\DB_CarManagement\\src\\xie.txt"));
	     // System.out.println(isFile);
	}
}

結果顯示:

 

9、建立單級目錄

程式碼片段:

import java.io.File;
public class Main {
	//mkdir()建立單級目錄
	public static void main(String[] args) {
	     File file = new File("F:/usr");
	     file.mkdir();
	}
}

結果顯示:

 

10、建立多級目錄
程式碼片段:

public class Main {
	//mkdirs()建立多級目錄
	public static void main(String[] args) {
	     File file = new File("F:/usr/local/file");
	     file.mkdirs();
	}
}

結果顯示:

11、createNewFile建立檔案

程式碼片段:

import java.io.File;
import java.io.IOException;
public class Main {
	//createNewFile()建立檔案
	public static void main(String[] args) throws IOException {
	     File file = new File("F:/usr/local/file.txt");
	     file.createNewFile();
	}
}

結果顯示:

 

12、獲取系統臨時檔案目錄

程式碼片段:

import java.io.File;
import java.io.IOException;
import java.util.UUID;
public class Main {
	public static void main(String[] args) throws IOException {
	    String fileName = UUID.randomUUID().toString();
	    File file = File.createTempFile(fileName, "txt");
	    System.out.println(file.getAbsolutePath());
	}
}

結果顯示:

 

13、deleteOnExit刪除目錄/檔案

程式碼片段:

import java.io.File;
import java.io.IOException;
public class Main {
	public static void main(String[] args) throws IOException {
	    File file = new File("F:\\usr\\local\\file.txt");
	    if(file.exists()) {
	    	System.out.println("file.txt檔案存在!");
	    	file.deleteOnExit();
	    	System.out.println("file.txt檔案是否存在:" + file.exists());
	    }   
	}
}

 

結果顯示:

仔細的同學就注意到了,為甚麼刪除了,檔案還是true?

其實,當呼叫deleteOnExit()方法時,只是相當於對deleteOnExit()作一個宣告,當程式執行結束,JVM終止時才真正呼叫deleteOnExit()方法實現刪除操作。即該方法是將刪除的命令快取了一下,到服務停止的時候再進行操作!

 

14、File.separator獲得當前作業系統的檔案分隔符

程式碼片段:

import java.io.File;
import java.io.IOException;
public class Main {
	public static void main(String[] args) throws IOException {
		String separator = File.separator;
		System.out.println(separator);
	}
}

結果顯示:

\
在linux檔案分隔符是/,在windows下檔案的分隔符\,但是在java中\是轉義字元,如果要在windows中執行java程式,分隔符需要用\\;但是/分隔符所有的作業系統都識別。

 

15、list遍歷當前目錄下所有資料夾和檔案

程式碼片段:

import java.io.File;
import java.io.IOException;
public class Main {
	public static void main(String[] args) throws IOException {
		File file = new  File("F:\\usr\\local\\file");
		String[] fileBox = file.list();
		for(String fileName : fileBox) {
			System.out.println(fileName);
		}
	}
}

結果顯示:

 

16、FilenameFilter檔案/資料夾過濾

程式碼顯示:

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.Arrays;
public class Main {
	public static void main(String[] args) throws IOException {
		File file = new  File("F:\\usr\\local\\file");
		String[] fileBox = file.list(new FilenameFilter() {		
			@Override
			public boolean accept(File dir, String name) {
				// TODO Auto-generated method stub
				if(name.endsWith("txt")) {
					return true;
				}
				return false;
			}
		});
		System.out.println(Arrays.toString(fileBox));
	}
}

結果顯示:

只是顯示字尾為txt的檔案。

 

17、getName獲得資料夾/檔名字

程式碼顯示:

import java.io.File;
import java.io.IOException;
public class Main {
	public static void main(String[] args) throws IOException {
		File file = new  File("F:\\usr\\local\\file\\myfile.txt");
	    String fileName = file.getName();
	    System.out.println(fileName);
	}
}

結果顯示:

 

18、getParentFile獲取父資料夾

程式碼片段:

import java.io.File;
import java.io.IOException;
public class Main {
	public static void main(String[] args) throws IOException {
		File file = new  File("F:\\usr\\local\\file\\myfile.txt");
	    File fileName = file.getParentFile();
	    System.out.println(fileName.getName());
	}
}

結果顯示:

19、length獲取檔案大小

程式碼片段:

import java.io.File;
import java.io.IOException;
public class Main {
	public static void main(String[] args) throws IOException {
		File file = new  File("F:\\usr\\local\\file\\myfile.txt");
	    long size = file.length();
	    System.out.println(size);
	}
}

結果顯示:

16