Java基礎(chǔ)之File

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)判斷文件是否存在戳寸。

參考

當(dāng)前路徑和上級(jí)目錄的表示方法

相對(duì)路徑

回車(chē)和換行

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市拷泽,隨后出現(xiàn)的幾起案子疫鹊,更是在濱河造成了極大的恐慌,老刑警劉巖司致,帶你破解...
    沈念sama閱讀 216,919評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拆吆,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡脂矫,警方通過(guò)查閱死者的電腦和手機(jī)枣耀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,567評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)庭再,“玉大人捞奕,你說(shuō)我怎么就攤上這事≈羟幔” “怎么了缝彬?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,316評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)哺眯。 經(jīng)常有香客問(wèn)我谷浅,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,294評(píng)論 1 292
  • 正文 為了忘掉前任一疯,我火速辦了婚禮撼玄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好麦撵,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,318評(píng)論 6 390
  • 文/花漫 我一把揭開(kāi)白布涣达。 她就那樣靜靜地躺著馍资,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,245評(píng)論 1 299
  • 那天慕蔚,我揣著相機(jī)與錄音,去河邊找鬼斋配。 笑死孔飒,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的艰争。 我是一名探鬼主播坏瞄,決...
    沈念sama閱讀 40,120評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼甩卓!你這毒婦竟也來(lái)了鸠匀?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,964評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤逾柿,失蹤者是張志新(化名)和其女友劉穎狮崩,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體鹿寻,經(jīng)...
    沈念sama閱讀 45,376評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,592評(píng)論 2 333
  • 正文 我和宋清朗相戀三年诽凌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了毡熏。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,764評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡侣诵,死狀恐怖痢法,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情杜顺,我是刑警寧澤财搁,帶...
    沈念sama閱讀 35,460評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站躬络,受9級(jí)特大地震影響尖奔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,070評(píng)論 3 327
  • 文/蒙蒙 一提茁、第九天 我趴在偏房一處隱蔽的房頂上張望淹禾。 院中可真熱鬧,春花似錦茴扁、人聲如沸铃岔。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,697評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)毁习。三九已至,卻和暖如春卖丸,著一層夾襖步出監(jiān)牢的瞬間纺且,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,846評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工坯苹, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留隆檀,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,819評(píng)論 2 370
  • 正文 我出身青樓粹湃,卻偏偏與公主長(zhǎng)得像恐仑,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子为鳄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,665評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 個(gè)人學(xué)習(xí)批處理的初衷來(lái)源于實(shí)際工作裳仆;在某個(gè)迭代版本有個(gè)BS(安卓手游模擬器)大需求,從而在測(cè)試過(guò)程中就重復(fù)涉及到...
    Luckykailiu閱讀 4,718評(píng)論 0 11
  • Ubuntu的發(fā)音 Ubuntu静袖,源于非洲祖魯人和科薩人的語(yǔ)言,發(fā)作 oo-boon-too 的音俊扭。了解發(fā)音是有意...
    螢火蟲(chóng)de夢(mèng)閱讀 99,258評(píng)論 9 467
  • [TOC] ##Assoc 顯示或修改文件擴(kuò)展名關(guān)聯(lián) Assoc [.Ext[=[Filetype]]] .Ex...
    btijjj閱讀 343評(píng)論 0 1
  • 部分內(nèi)容轉(zhuǎn)載自搜狗百科 cmd是command的縮寫(xiě).即命令提示符(CMD)队橙,是在OS / 2 , Windows...
    青冥之上閱讀 2,391評(píng)論 0 24
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理萨惑,服務(wù)發(fā)現(xiàn)捐康,斷路器,智...
    卡卡羅2017閱讀 134,654評(píng)論 18 139