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