File
存儲(chǔ)在變量,數(shù)組殉摔,對(duì)象的數(shù)據(jù)都是存儲(chǔ)在內(nèi)存中州胳,一旦程序關(guān)閉,這些數(shù)據(jù)就會(huì)丟失逸月。為了能夠永久保存程序運(yùn)行過(guò)程中創(chuàng)建的數(shù)據(jù)栓撞,必須將其保存在硬盤(pán)(存儲(chǔ)介質(zhì))的文件中。而File類可以獲取文件屬性,對(duì)文件執(zhí)行刪除瓤湘,重命名等操作瓢颅。
文件路徑
絕對(duì)文件名
在文件系統(tǒng)中,每一個(gè)文件都存在一個(gè)目錄下弛说。絕對(duì)文件名是由文件名和它完整路徑以及驅(qū)動(dòng)器字母組成挽懦。例如c:\document\welcome.java是文件welcome.java在Window操作系統(tǒng)上的絕對(duì)文件名。其中c:\document是該文件的目錄路徑木人。絕對(duì)文件名是依賴操作系統(tǒng)的信柿。在UNIX平臺(tái)上,絕對(duì)文件名有可能是/home/song/book/welcome.java醒第,其中/home/song/book是該文件的目錄路徑渔嚷。由于絕對(duì)文件名針對(duì)不同的操作系統(tǒng)的目錄分隔符是不同的,Window下的分隔符是“\”(在java中\(zhòng)是轉(zhuǎn)義字符稠曼,所以應(yīng)該寫(xiě)成"\")形病,而在UNIX下是"/"∠挤可以通過(guò)File.separator來(lái)獲取當(dāng)前名稱分隔符窒朋。
File.pathSeparator是路徑分隔符。例如我們?cè)赪indow下配置Java環(huán)境變量時(shí)蝗岖,CLASSPATH和PATH路徑之間會(huì)通過(guò)";"來(lái)分隔。(參考)
抽象文件名
File類提供了一種抽象榔至,這種抽象指的是以不依賴操作平臺(tái)的方式來(lái)處理文件和路徑名依賴依賴操作平臺(tái)的復(fù)雜問(wèn)題抵赢。在程序中不要直接使用絕對(duì)文件名,這樣一來(lái)程序只能針對(duì)一個(gè)平臺(tái)來(lái)使用唧取,可移植性降低铅鲤。應(yīng)當(dāng)使用與當(dāng)前目錄相關(guān)的文件名。例如new File(image/us.gif)表示為當(dāng)前目錄下的image目錄下的us.gif文件創(chuàng)建File對(duì)象枫弟,"/"是Java的目錄分隔符邢享。這樣的File對(duì)象在各個(gè)平臺(tái)都可以使用。
獲取當(dāng)前目錄淡诗,可以通過(guò)System.getProperty()方法來(lái)獲取骇塘。具體的代碼為
System.getProperty(user.dir)
(參考)
路徑表示方法
表示上級(jí)目錄
.. 表示源文件所在目錄的上一級(jí)目錄,../.. 表示源文件所在目錄的上上級(jí)目錄韩容,以此類推款违。
表示下級(jí)目錄
引用下級(jí)目錄的文件,直接寫(xiě)下級(jí)目錄文件的路徑即可群凶。
絕對(duì)路徑:是從盤(pán)符開(kāi)始的路徑插爹,形如
C:\windows\system32\cmd.exe (第一個(gè)反斜杠表示在c盤(pán)的根目錄下)
相對(duì)路徑:是從當(dāng)前路徑開(kāi)始的路徑,假如當(dāng)前路徑為C:\windows
要描述上述路徑,只需輸入
system32\cmd.exe
實(shí)際上赠尾,嚴(yán)格的相對(duì)路徑寫(xiě)法應(yīng)為
.\system32\cmd.exe
其中力穗,. 表示當(dāng)前路徑,在通常情況下可以省略气嫁,只有在特殊的情況下不能省略当窗。
實(shí)踐
假如當(dāng)前路徑為c:\program files
要調(diào)用上述命令,則需要輸入
..\windows\system32\cmd.exe
其中杉编,..為父目錄超全。
當(dāng)前路徑如果為c:\program files\common files
則需要輸入
....\windows\system32\cmd.exe
文件換行符與回車(chē)符
'\n' 10 換行(newline)
'\r' 13 回車(chē)(return)
Unix系統(tǒng)里,每行結(jié)尾只有"<換行>"邓馒,即"\n"嘶朱;Windows系統(tǒng)里面,每行結(jié)尾是"<回車(chē)><換行>"光酣,即"\r\n"疏遏。
注意
- File類不包含讀寫(xiě)文件內(nèi)容的方法。
- 構(gòu)建一個(gè)File類并不會(huì)在機(jī)器上創(chuàng)建一個(gè)文件救军,無(wú)論文件存在與否财异,都可以創(chuàng)建File對(duì)象〕猓可以調(diào)用exists()方法來(lái)判斷文件是否存在戳寸。