NO.36 文件相關(guān)操作總結(jié)

1)java.io.File:File的每一個實例用于表示文件系統(tǒng)中的一個文件或目錄

File.separator;//支持不同系統(tǒng)目錄層級分割桨螺,相當于斜杠

String getName();//獲取文件或目錄的名稱

long length();//獲取文件的字節(jié)大小

boolean canRead();//是否可讀

boolean canWrite();//是否可寫

boolean isHidden();//是否隱藏

boolean exists();//判斷該File表示的文件或目錄是否真實存在

boolean createNewFile();//創(chuàng)建該文件

boolean delete();//刪除該文件或目錄。如果此路徑名表示一個目錄酿秸,則該目錄必須為空才能刪除

boolean mkdir();//創(chuàng)建此抽象路徑名指定的目錄灭翔,創(chuàng)建成功true,否則false

boolean mkdirs();//創(chuàng)建多級目錄辣苏,創(chuàng)建成功true肝箱,否則false

boolean isFile();//判斷該File表示的是否是一個文件

Boolean isDirectory();//判斷該File是否為一個目錄

File[] listFiles();//獲取該目錄中的所有子項

File[] listFiles(FileFilter fiter);//獲取該目錄中符合過濾器的子項

2)java.io.RandomAccessFile:可以對文件隨機訪問的操作,訪問包括讀和寫操作稀蟋,是基于指針的操作

RandomAccessFile(File file, String mode);//file指file實例煌张,mode指操作模式,包括“rw”讀寫模式和“r”只讀模式

RandomAccessFile(String path, String mode);//path指文件路徑退客,mode指操作模式骏融,包括“rw”讀寫模式和“r”只讀模式

void write(int d);//將給定的int值所表示的2進制的“低8位”這個字節(jié)寫入文件

int read();//讀取一個字節(jié)链嘀,然后將字節(jié)存到一個int值中,然后返回該int值档玻,如返回的int值為-1怀泊,則表示本次讀取時是在文件的末尾

int read(byte[] data);//一次性讀取給定字節(jié)數(shù)組length的字節(jié)量,并存入到該數(shù)組中误趴,返回值為實際讀取到的字節(jié)量包个;若返回值為-1表示本次沒有讀到任何字節(jié),是文件的末尾

void write(byte[] data);//將給定的字節(jié)數(shù)組中所有字節(jié)一次性寫出

void write(byte[] data,int offset,int len);//將給定字節(jié)數(shù)組從下標offset處的字節(jié)開始的連續(xù)len個一次性寫出

long getFilePointer();//獲取RAF當前指針位置

void writeInt(int d);//將int值對應(yīng)的4個字節(jié)一次性寫出

void seek(long pos);//移動指針到指定位置

int readInt();//返回一次性讀出四個字節(jié)對應(yīng)的int值

int skipBytes(int n):方法可以嘗試跳過輸入的 n 個字節(jié)以丟棄跳過的字節(jié)冤留,返回跳過的實際字節(jié)數(shù)碧囊。如果 n 為負數(shù),則不跳過任何字節(jié)

byte[] getBytes();//將當前字符串按照系統(tǒng)默認字符集轉(zhuǎn)換為一組字節(jié)----String

byte[] getBytes(String csn);//將當前字符串按照給定字符集轉(zhuǎn)換為一組對應(yīng)的字節(jié)(csn:charset name)----String

String(byte[] data);//將給定字節(jié)數(shù)組中所有字節(jié)按照當前系統(tǒng)默認字符集轉(zhuǎn)換為對應(yīng)的字符串----String構(gòu)造方法

String(byte[] data,int offset,int len);//將給定字節(jié)數(shù)組從下標offset處開始的連續(xù)len個字節(jié)按照系統(tǒng)默認字符集轉(zhuǎn)換為字符串----String構(gòu)造方法

String(byte[] data,int offset,int len,String csn);//將給定字節(jié)數(shù)組從下標offset處開始的連續(xù)len個字節(jié)按照指定字符集轉(zhuǎn)換為字符串----String構(gòu)造方法

3)FileInputStream 文件輸入流與FileOutputStream 文件輸出流:

用來讀寫文件數(shù)據(jù)的流纤怒,文件流是一對低級流糯而。

FileOutputStream(String name, boolean);//第二個參數(shù)為true則是追加模式

BufferedInputStream 緩沖輸入流和BufferedOutputStream 緩沖輸出流:

提高讀取效率、提高寫出效率泊窘。

注意:void flush();//一次性將緩沖區(qū)的數(shù)據(jù)寫出

ObjectInputStream 對象輸入流和ObjectOutputStream 對象輸出流:

輸入流熄驼,用于反序列化對象;輸出流烘豹,可以將給定的對象轉(zhuǎn)換為一組字節(jié)瓜贾,然后通過其處理的流將這組字節(jié)寫出。

注意:如果一個類的實例希望被對象流進行讀寫携悯,那么必須實現(xiàn)Serializable接口

InputStreamReader 字符輸入轉(zhuǎn)換流和OutputStreamWriter 字符輸出轉(zhuǎn)換流:

一般不用祭芦,為中間轉(zhuǎn)換作用

BufferedReader 緩沖字符輸入流和PrintWriter 緩沖字符輸出流:

可以按行讀寫字符串

PrintWriter支持"自動行刷新"功能,若在構(gòu)造方法中第二個參數(shù)為true憔鬼,則會每寫出一行自動調(diào)用void flush()方法龟劲。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市轴或,隨后出現(xiàn)的幾起案子昌跌,更是在濱河造成了極大的恐慌,老刑警劉巖照雁,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蚕愤,死亡現(xiàn)場離奇詭異,居然都是意外死亡饺蚊,警方通過查閱死者的電腦和手機萍诱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來卸勺,“玉大人砂沛,你說我怎么就攤上這事∈锴螅” “怎么了碍庵?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵映企,是天一觀的道長。 經(jīng)常有香客問我静浴,道長堰氓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任苹享,我火速辦了婚禮双絮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘得问。我一直安慰自己囤攀,他們只是感情好,可當我...
    茶點故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布宫纬。 她就那樣靜靜地躺著焚挠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪漓骚。 梳的紋絲不亂的頭發(fā)上蝌衔,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天,我揣著相機與錄音蝌蹂,去河邊找鬼噩斟。 笑死,一個胖子當著我的面吹牛孤个,可吹牛的內(nèi)容都是我干的剃允。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼硼身,長吁一口氣:“原來是場噩夢啊……” “哼硅急!你這毒婦竟也來了覆享?” 一聲冷哼從身側(cè)響起佳遂,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎撒顿,沒想到半個月后丑罪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡凤壁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年吩屹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拧抖。...
    茶點故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡煤搜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出唧席,到底是詐尸還是另有隱情擦盾,我是刑警寧澤嘲驾,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站迹卢,受9級特大地震影響辽故,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜腐碱,卻給世界環(huán)境...
    茶點故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一誊垢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧症见,春花似錦喂走、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至瓷们,卻和暖如春业栅,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背谬晕。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工碘裕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人攒钳。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓帮孔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親不撑。 傳聞我的和親對象是個殘疾皇子文兢,可洞房花燭夜當晚...
    茶點故事閱讀 45,512評論 2 359

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

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法焕檬,內(nèi)部類的語法姆坚,繼承相關(guān)的語法,異常的語法实愚,線程的語...
    子非魚_t_閱讀 31,662評論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理兼呵,服務(wù)發(fā)現(xiàn),斷路器腊敲,智...
    卡卡羅2017閱讀 134,699評論 18 139
  • IO簡單概述 IO解決問題 : 解決設(shè)備與設(shè)備之間的數(shù)據(jù)傳輸問題(硬盤 -> 內(nèi)存 內(nèi)存 -> 硬盤) 讀和寫文...
    奮斗的老王閱讀 3,441評論 0 53
  • 1 IONo18 1.1IO框架 【 IO:Input Output 在程序運行的過程中击喂,可能需要對一些設(shè)備進...
    征程_Journey閱讀 966評論 0 1
  • 張嘉佳的故事被改編成了電影,罵聲一片碰辅《海《從你的全世界路過》上映這么久,我卻是前幾天才在視頻網(wǎng)站把它看完的没宾。我不想做...
    派小欣閱讀 1,549評論 0 0