Java學習筆記 Java基礎8(檔案)

2021-08-19 21:20:04 字數 3057 閱讀 8409

1.file:通過該類可在程式中操作硬碟上的檔案和目錄,但是該類只用於表示檔案或目錄的資訊(名稱、大小等),不能對檔案的內容進行訪問

1)file(string pathname):通過給定的字串轉換為抽象路徑名來建立乙個新file例項

2)表示路徑時,應使用file.separator表示分隔符(/或\),以避免系統差異

3)string getname():獲取檔案或目錄的名字

4)boolean exists():判斷當前file所表示的檔案或目錄是否存在

5)long length():獲取當前file所表示的檔案或目錄的位元組量

6)boolean canread()/canwriter()/canexecute():判斷當前file所表示的檔案或目錄是否可讀/可寫/可執行

7)boolean isfile()/isdirectory():判斷當前file所表示的檔案或目錄是否是檔案/目錄

8)file listfiles():獲取當前file所表示的目錄中的所有檔案和目錄,該方法支援「過濾器」,過濾器的類需要實現filefilter介面,並重寫boolean accept(file file)方法,listfiles方法會返回符合過濾條件的子項

9)boolean mkdir()/mkdirs():建立單層目錄/多層次目錄

10)file getparentfile():獲取當前file所表示的檔案或目錄的父目錄。建立檔案時,應首先判斷該檔案所在的目錄是否存在,若不存在會報出異常

2.randomaccessfile:該類是基於指標的位置讀取檔案的資訊,可對檔案進行讀寫操作

1)void write(int n):寫出給定的int值的「低8位」,只寫1個位元組。為了提高效率,必須減少讀取次數,可用該方法的過載方法:

---void write(byte b):根據指標所在位置連續寫出給定陣列中的所有位元組

---void write(byte b,int offset,int len):根據指標所在位置連續寫出給定陣列中的部分位元組,這個部分是從陣列的offset處開始,連續len個位元組

2)int read():從當前檔案讀取1個位元組,將該位元組存入返回的int值中,int值「低8位」有效,若返回值為-1,表示讀到了檔案末尾

3)long getfilepointer():獲取randomaccessfile的指標位置

4)void seek(long position):將指標調整到給定的位置

5)int skipbytes(int n):該方法會嘗試跳過n個位元組,返回值為實際跳過的位元組數

3.節點流與處理流:

-節點流:可以從或向乙個特定的地方讀寫資料

-處理流:是對乙個已存在的流的連線和封裝,構造方法通常會傳入另乙個流,處理這個流,目的是簡化操作

4.inputstream:所有位元組輸入流的父類,定義了基礎的讀取方法:

-int read():讀取1個位元組,以int返回,該值「低8位」有效,若返回值為-1,則表示eof

-int read(byte b):嘗試讀取給定陣列length個位元組並存入該陣列,返回值為實際讀到的位元組量

5.outputstream:所有位元組輸出流的父類,定義了基礎的寫出方法:

-void write(int d):寫出1個位元組,給定值的int「低8位」有效

-void write(byte b):將給定的位元組陣列中的所有位元組全部寫出

6.fileoutputstream:檔案的位元組輸出流,使用該流以位元組為單位將資料寫入檔案,構造方法:

1)fileoutputstream(file file)

2)fileoutputstream(string filename)

7.bufferedoutputstream:緩衝流,可將資料先存入快取區,當緩衝區滿了之後,一次性寫出資料

1)void flush():強制將緩衝區的位元組寫出,無論緩衝區是否裝滿

2)void close():關閉流,會自動flush一次

8.將乙個特定的資料結構轉換為一組位元組的過程,稱之為序列化;將這組陣列寫入硬碟的過程,稱之為持久化。一般用於傳輸和儲存

1)objectoutputstream:提供了void writeobject(object o)方法,將給定的物件轉換為一組位元組後寫出,該物件的類需要實現serializa介面,最好為類新增版本號(serialversionuid)

2)objectinputstream:將一組位元組轉換為對應的物件,用於反序列化

9.reader:字元流的父類,定義了讀取方法,以char為單位,一次處理乙個unicode

-int read():讀取1個字元,以int返回,該值「低16位」有效,若返回值為-1,則表示eof

-int read(char c):嘗試讀取給定陣列length個字元並存入該陣列,返回值為實際讀到的字元量

10.writer:所有字元輸出流的父類,定義了基礎的寫出方法:

-void write(int d):寫出1個字元,給定值的int「低16位」有效

-void write(char c):將給定的位元組陣列中的所有字元全部寫出

-void write(char c,int offset,int len):根據指標所在位置連續寫出給定陣列中的部分字元,這個部分是從陣列的offset處開始,連續len個字元

11.outputstreamwriter(outoutstream out,string charsetname):將給定的字串按照特定的字符集轉換為字元後寫出

12.inputstreamreader:字元輸入流,用於讀取字元資料

13.printwriter(writer writer,boolean autoflush):具有自動行重新整理的緩衝字元輸出流

14.bufferedreader:緩衝字元輸入流,可提高讀取效率

-string readline():一次讀取一行字串,返回值為讀取的字串,若返回值為null,怎說明文字eof

15.組合示例

JAVA基礎學習筆記

1 介面可以例項化嗎?runnable a1 new runnable 這樣是不對的,因為介面不能被 直接例項化 runnable a1 new runnable 是對的,這實際上是一種構造內部類的 簡寫 在這裡 首先構造了乙個 implements runnable 的無名local內部類 方法內...

java學習筆記day8

多型 定義 某一類事物的多種存在形式。例 動物中貓,狗。貓這個物件對應的型別是貓型別。貓 x new 貓 同時貓也是動物中的一種,也可以把貓稱為動物。動物 y new 貓 動物是貓和狗具體事物中抽取出來的父型別。父型別引用指向了子類物件。多型 可以理解為事物存在的多種體現形態。人 男人,女人。動物 ...

JAVA8 HashSet學習筆記

set集合的最主要特性就是沒有重複元素,hashset是set的乙個字類,其內部基於hashmap實現,因此hashset的實現比較簡單,相關hashset的操作,基本上都是直接呼叫底層hashmap的相關方法來完成 底層使用hashmap來儲存hashset的元素 private transien...