Java 中的 File類詳情
一、File類簡單介紹
為什么要學(xué)習(xí)File類呢,他的作用又是什么呢?
IO流操作中大部分都是對文件進行操作,所以Java就提供了一個File類供我們來操作文件,它是以抽象的方式代表文件名和目錄路徑名,該類主要是對文件或目錄的創(chuàng)建,文件的查找,刪除等。對于File而言,其封裝的并不是一個真正存在的文件,僅僅是一個路徑名而已。它可以是存在的,也可以是不存在的。將來是要通過具體的操作把這個路徑的內(nèi)容轉(zhuǎn)換為具體存在的。
二、 路徑的分類
- 絕對路徑:帶有盤符號的路徑
- 相對路徑:沒有帶盤符號的路徑,默認在根目錄下
三、 構(gòu)造方法
File(String pathname):根據(jù)一個路徑得到File對象File(String parent, String child):根據(jù)一個目錄和一個子文件/目錄得到File對象File(File parent, String child):根據(jù)一個父File對象和子文件/目錄得到File對象
示例代碼:
package org.westos.demo2;
import java.io.File;
public class MyTest2 {
public static void main(String[] args){
//通過路徑得到對象
File file = new File("E:\\aaa\\");
//通過父類路徑和子類名得到對象
File file1 = new File("E:\\", "aaa");
//通過父類對象和子類名得到對象
File file2 = new File("E:\\");
File file3 = new File(file2, "aaa");
}
}
四、 成員方法
創(chuàng)建功能:
public boolean createNewFile()當(dāng)具有該名稱的文件不存在時,創(chuàng)建一個由該抽象路徑名命名的新空文件。
public boolean mkdir()創(chuàng)建由此抽象路徑名命名的目錄。 public boolean
mkdirs()創(chuàng)建由此抽象路徑名命名的目錄,包括任何必需但不存在的父目錄。
示例代碼:
public class FileDemo02 {
public static void main(String[] args) throws IOException {
//需求1:我要在E:\\itcast目錄下創(chuàng)建一個文件java.txt
File f1 = new File("E:\\itcast\\java.txt");
System.out.println(f1.createNewFile());
System.out.println("--------");
//需求2:我要在E:\\itcast目錄下創(chuàng)建一個目錄JavaSE
File f2 = new File("E:\\itcast\\JavaSE");
System.out.println(f2.mkdir());
System.out.println("--------");
//需求3:我要在E:\\itcast目錄下創(chuàng)建一個多級目錄JavaWEB\\HTML
File f3 = new File("E:\\itcast\\JavaWEB\\HTML");
// System.out.println(f3.mkdir());
System.out.println(f3.mkdirs());
System.out.println("--------");
//需求4:我要在E:\\itcast目錄下創(chuàng)建一個文件javase.txt
File f4 = new File("E:\\itcast\\javase.txt");
// System.out.println(f4.mkdir());
System.out.println(f4.createNewFile());
}
}
刪除功能:
public boolean delete() ;
注意:
- 要刪除一個文件夾,請注意該文件夾內(nèi)不能包含文件或文件夾
- java中刪除不走回收站
示例代碼:
public class FileDemo03 {
public static void main(String[] args) throws IOException {
// File f1 = new File("E:\\itcast\\java.txt");
//需求1:在當(dāng)前模塊目錄下創(chuàng)建java.txt文件
File f1 = new File("myFile\\java.txt");
// System.out.println(f1.createNewFile());
//需求2:刪除當(dāng)前模塊目錄下的java.txt文件
System.out.println(f1.delete());
System.out.println("--------");
//需求3:在當(dāng)前模塊目錄下創(chuàng)建itcast目錄
File f2 = new File("myFile\\itcast");
// System.out.println(f2.mkdir());
//需求4:刪除當(dāng)前模塊目錄下的itcast目錄
System.out.println(f2.delete());
System.out.println("--------");
//需求5:在當(dāng)前模塊下創(chuàng)建一個目錄itcast,然后在該目錄下創(chuàng)建一個文件java.txt
File f3 = new File("myFile\\itcast");
// System.out.println(f3.mkdir());
File f4 = new File("myFile\\itcast\\java.txt");
// System.out.println(f4.createNewFile());
//需求6:刪除當(dāng)前模塊下的目錄itcast
System.out.println(f4.delete());
System.out.println(f3.delete());
}
}
重命名功能:
public boolean renameTo(File dest):如果路徑名相同,就是改名;如果路徑名不相同,就是改名并剪切
判斷功能:
public boolean isDirectory():判斷是否是文件夾
public boolean isFile():判斷是否是文件
public boolean exists():判斷文件或文件夾是否存在
public boolean canRead(): 判斷是否可讀
public boolean canWrite(): 判斷是否可寫
public boolean isHidden(): 判斷文件或文件夾是否隱藏
示例代碼:
public class FileDemo04 {
public static void main(String[] args) {
//創(chuàng)建一個File對象
File f = new File("myFile\\java.txt");
// public boolean isDirectory():測試此抽象路徑名表示的File是否為目錄
// public boolean isFile():測試此抽象路徑名表示的File是否為文件
// public boolean exists():測試此抽象路徑名表示的File是否存在
System.out.println(f.isDirectory());
System.out.println(f.isFile());
System.out.println(f.exists());
}
}
獲取功能:
基本獲取功能:
public String getAbsolutePath():獲取文件或文件夾的絕對路徑
public String getPath():獲取文件或文件夾的相對路徑
public String getName():獲取文件或文件夾名稱
public long length():獲取長度,字節(jié)數(shù),可以獲取文件的大小進行判斷
public long lastModified():獲取最后一次修改的時間,返回毫秒值,可以判斷文件被修改過幾次
高級獲取功能:
public String[ ] list():獲取目錄下的所有文件或者文件夾的名稱數(shù)組
public File[ ] listFiles():獲取指定目錄下的所有文件夾的File對象數(shù)組,返回的是File對象說明可以調(diào)用File的方法
示例代碼:
public class FileDemo04 {
public static void main(String[] args) {
//創(chuàng)建一個File對象
File f = new File("myFile\\java.txt");
// public String getAbsolutePath():返回此抽象路徑名的絕對路徑名字符串
// public String getPath():將此抽象路徑名轉(zhuǎn)換為路徑名字符串
// public String getName():返回由此抽象路徑名表示的文件或目錄的名稱
System.out.println(f.getAbsolutePath());
System.out.println(f.getPath());
System.out.println(f.getName());
System.out.println("--------");
// public String[] list():返回此抽象路徑名表示的目錄中的文件和目錄的名稱字符串?dāng)?shù)組
// public File[] listFiles():返回此抽象路徑名表示的目錄中的文件和目錄的File對象數(shù)組
File f2 = new File("E:\\itcast");
String[] strArray = f2.list();
for(String str : strArray) {
System.out.println(str);
}
System.out.println("--------");
File[] fileArray = f2.listFiles();
for(File file : fileArray) {
// System.out.println(file);
// System.out.println(file.getName());
if(file.isFile()) {
System.out.println(file.getName());
}
}
}
}
文件過濾接口:
想獲取的時候就滿足條件,要實現(xiàn)文件過濾接口:public String[ ] listFiles(new FilenameFilter)
到此這篇關(guān)于Java 中的 File類詳情的文章就介紹到這了,更多相關(guān)Java 中的 File類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java中extends與implements的區(qū)別淺談
java中extends與implements的區(qū)別淺談,需要的朋友可以參考一下2013-03-03
Springboot如何使用filter對request body參數(shù)進行校驗
這篇文章主要介紹了Springboot如何使用filter對request body參數(shù)進行校驗,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
SpringBoot之HandlerInterceptor攔截器的使用詳解
這篇文章主要介紹了SpringBoot之HandlerInterceptor攔截器的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
Idea 解決 Could not autowire. No beans of ''xxxx'' type found
這篇文章主要介紹了Idea 解決 Could not autowire. No beans of 'xxxx' type found 的錯誤提示,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01

