目錄
前言:
File類:
構(gòu)造方法:
常見成員方法:
總結(jié):
前言:
? ? ? ? 本文我們將為大家介紹JAVA中一個比較使用的類:File類,他為我們提供了存儲數(shù)據(jù)的功能,使得程序的數(shù)據(jù)不至于在運行結(jié)束之后就丟失,是一個很好的類。
File類:
????????File類是Java標(biāo)準(zhǔn)庫中用于操作文件和目錄的一個核心類。它提供了一系列方法,可以創(chuàng)建、刪除、重命名、復(fù)制、查詢和操作文件和目錄的屬性等。
? ? ? ? File類創(chuàng)建的對象就表示一個路徑,可以是文件的路徑,也可以是文件夾的路徑。
在文件系統(tǒng)中,路徑用于指定文件或目錄的位置。在Java中,有兩種常見的路徑表示方式:絕對路徑和相對路徑。
絕對路徑(Absolute Path):
絕對路徑是一個完整的路徑,它從文件系統(tǒng)的根目錄開始指定文件或目錄的位置。在不同操作系統(tǒng)中,根目錄的表示方式可能有所不同。在Windows系統(tǒng)中,絕對路徑通常以盤符(如C:\、D:\)開始,如"C:\Users\Username\Documents\example.txt"。在Unix/Linux系統(tǒng)中,絕對路徑從根目錄(/)開始,如"/home/username/documents/example.txt"。使用絕對路徑可以精確地指定文件或目錄的位置,無論當(dāng)前工作路徑在哪里都能夠正確地定位。
相對路徑(Relative Path):
相對路徑是相對于當(dāng)前工作路徑或另一個已知路徑的路徑。它指定文件或目錄相對于當(dāng)前位置的位置關(guān)系。相對路徑不以根目錄為起始,而是從當(dāng)前目錄開始描述路徑。相對路徑通常更簡短,便于在程序中靈活使用。相對路徑可以分為兩種:
- 相對于當(dāng)前工作路徑:這是最常見的情況,相對路徑從當(dāng)前工作路徑開始描述文件或目錄的位置關(guān)系。例如,如果當(dāng)前工作路徑為"/home/username",而文件"example.txt"位于該目錄下,相對路徑可以簡單地表示為"example.txt"。
- 相對于另一個已知路徑:相對路徑也可以相對于另一個已知路徑進(jìn)行描述。例如,如果當(dāng)前工作路徑為"/home/username",而文件"example.txt"位于該目錄下的子目錄"documents"中,相對路徑可以表示為"documents/example.txt"。
相對路徑的優(yōu)勢在于能夠根據(jù)當(dāng)前程序的運行環(huán)境輕松地適應(yīng)不同的文件結(jié)構(gòu),例如在不同操作系統(tǒng)上運行同一程序時。但是需要注意,相對路徑必須基于當(dāng)前工作路徑或已知路徑,否則可能會導(dǎo)致文件或目錄無法找到。
構(gòu)造方法:
File類提供了多個構(gòu)造方法,用于創(chuàng)建File對象以表示文件或目錄的路徑。以下是常見的幾種構(gòu)造方法:
-
構(gòu)造方法一:
File(String pathname)
- 通過給定字符串表示的路徑創(chuàng)建File對象。
- 參數(shù)pathname可以是文件或目錄的路徑。
- 例如:
File file = new File("C:\\Users\\Username\\Documents\\example.txt");
-
構(gòu)造方法二:
File(String parent, String child)
- 通過給定父路徑和子路徑創(chuàng)建File對象。
- 參數(shù)parent表示父路徑,child表示子路徑。
- 例如:
File file = new File("C:\\Users\\Username\\Documents", "example.txt");
-
構(gòu)造方法三:
File(File parent, String child)
- 通過給定父File對象和子路徑創(chuàng)建File對象。
- 參數(shù)parent表示父File對象,child表示子路徑。
- 例如:
File parentDir = new File("C:\\Users\\Username\\Documents"); File file = new File(parentDir, "example.txt");
在文件系統(tǒng)中,父路徑和子路徑是用于描述文件或目錄之間層次關(guān)系的概念。
1. 父路徑(Parent Path):
? ?父路徑是相對于當(dāng)前路徑或文件的上一級目錄路徑。簡單來說,父路徑是文件或目錄所在位置的上層目錄的路徑。2. 子路徑(Child Path):
? ?子路徑是相對于當(dāng)前路徑或文件的下一級目錄路徑。它表示文件或目錄位于當(dāng)前路徑的子目錄中。
常見成員方法:
File類提供了一系列常見的成員方法,用于執(zhí)行各種文件和目錄的操作。以下是一些常見的File類成員方法:
-
文件和目錄的基本操作:
-
createNewFile()
:創(chuàng)建文件。 -
mkdir()
:創(chuàng)建目錄。 -
mkdirs()
:創(chuàng)建多級目錄。 -
delete()
:刪除文件或目錄。
-
delete刪除文件是不走回收站的,直接進(jìn)行刪除,無法從回收站復(fù)原,因此在刪除的時候要格外注意。而如果刪除文件夾的話要分兩種情況:
1.如果刪除空文件夾,就直接刪除
2.如果刪除的是有內(nèi)容的文件夾,就會刪除失敗
-
文件和目錄的屬性查詢:
-
exists()
:檢查文件或目錄是否存在。 -
isFile()
:檢查是否為文件。 -
isDirectory()
:檢查是否為目錄。 -
getName()
:獲取文件或目錄的名稱。 -
getPath()
:獲取文件或目錄的路徑。 -
getAbsolutePath()
:獲取文件或目錄的絕對路徑。 -
length()
:獲取文件的大小(字節(jié)數(shù))。 -
lastModified()
:獲取文件或目錄的最后修改時間。
-
windows中路徑是唯一的,如果當(dāng)前要創(chuàng)建的新的文件與已有文件夾路徑重疊,那么程序就會拋出異常。
-
文件和目錄的遍歷:
-
list()
:返回目錄下的所有文件和目錄名稱數(shù)組。 -
listFiles()
:返回目錄下的所有文件和目錄File對象數(shù)組。
-
-
文件操作:
-
canRead()
:檢查文件是否可讀。 -
canWrite()
:檢查文件是否可寫。 -
setReadable(boolean readable)
:設(shè)置文件是否可讀。 -
setWritable(boolean writable)
:設(shè)置文件是否可寫。
-
-
文件和目錄的重命名和移動:
-
renameTo(File dest)
:將文件或目錄重命名為指定的名稱(可以是新的路徑)。
-
-
其他功能:
-
getParent()
:獲取文件或目錄的父級目錄。 -
isHidden()
:檢查文件或目錄是否是隱藏文件。 -
getTotalSpace()
:獲取文件所在驅(qū)動器的總空間。 -
getFreeSpace()
:獲取文件所在驅(qū)動器的可用空間。
-
總結(jié):
? ? ? ? 本文我們?yōu)榇蠹医榻B了File類以及其常見的成員方法,他可以直接對系統(tǒng)文件進(jìn)行操作,用來存儲我們運行時候的數(shù)據(jù),是一個很常見的內(nèi)部類。
如果我的內(nèi)容對你有幫助,請點贊,評論,收藏。創(chuàng)作不易,大家的支持就是我堅持下去的動力!
?文章來源地址http://www.zghlxwxcb.cn/news/detail-615081.html文章來源:http://www.zghlxwxcb.cn/news/detail-615081.html
?
到了這里,關(guān)于【從零開始學(xué)習(xí)JAVA | 第三十三篇】File類的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!