IO File 前進的火車 新浪部落格

2021-10-10 12:04:18 字數 2868 閱讀 2624

io解決問題: 解決裝置與裝置之間 的資料傳輸問題。  比如: 硬碟--->記憶體            記憶體----->硬碟

位元組流:

輸入位元組流:

---------| inputstream 所有輸入位元組流的基類。 抽象類。

------------| fileinputstream 讀取檔案的輸入位元組流。

------------| bufferedinputstream 緩衝輸入位元組流。 該類內部其實就是維護了乙個8kb位元組陣列而已。  該類出現的目的是為了提高讀取檔案資料的效率。

輸出位元組流:

---------| outputstream  所有輸出位元組流的基類。  抽象類。

------------| fileoutputstream 向檔案輸出資料 的輸出位元組流。

------------| bufferedoutputstream  緩衝輸出位元組流。 該類出現的目的是為了提高向檔案寫資料的效率。 該類內部其實也是維護了乙個8kb的位元組陣列而已。

字元流 = 位元組流 + 編碼(解碼)

字元流:

輸入字元流

--------| reader 所有輸入字元流的基類。 抽象類。

-----------| filereader 讀取檔案字元的輸入字元流。 

-----------| bufferedreader 緩衝輸入字元流。 該類出現的目的是為了提高讀取檔案字元的效率並且拓展了功能(readline()),它內部 其實就是維護了乙個8192個長度的字元陣列。

輸出字元流

-------| writer 所有輸出字元流的基類。 抽象類。

------------| filewriter 向檔案輸出字元資料的輸出字元流。

---------------| bufferedwriter 緩衝輸出字元流。該類出現的目的是為了提高寫檔案字元的效率並且拓展了功能(newline())。

什麼情況下使用字元流:如果讀寫的都是字元資料,這時候我們就使用字元流。

轉換流:

輸入位元組流的轉換流             輸入位元組流---------輸入字元流

inputsrteamreader 

輸出位元組流的轉換流

outputstreamwriter

轉換流的作用:

1. 可以把對應的位元組流轉換成字元流使用。

2. 可以指定碼表進行讀寫檔案的資料。

filereader, filewriter這兩個類預設是使用的是gbk編碼 表。不能由你來指定碼表讀寫檔案資料。

file:

file類的構造方法:

file(string pathname)  指定檔案或者資料夾的路徑建立乙個file檔案。

file(file parent, string child)   根據 parent 抽象路徑名和 child 路徑名字串建立乙個新 file 例項。 

file(string parent, string child) 

createnewfile() 在指定位置建立乙個空檔案,成功就返回true,如果已存在就不建立然後返回false

mkdir() 在指定位置建立目錄,這只會建立最後一級目錄,如果上級目錄不存在就拋異常。

mkdirs() 在指定位置建立目錄,這會建立路徑中所有不存在的目錄。

renameto(file dest) 重新命名檔案或資料夾,也可以操作非空的資料夾,檔案不同時相當於檔案的剪下,剪下時候不能操作非空的資料夾。移動/重新命名成功則返回true,失敗則返回false。

刪除:delete() 刪除檔案或乙個空資料夾,如果是資料夾且不為空,則不能刪除

deleteonexit()  在虛擬機器終止時,請求刪除此抽象路徑名表示的檔案或目錄,保證程式異常時建立的臨時檔案也可以被刪除

判斷:exists() 檔案或資料夾是否存在。

isfile() 是否是乙個檔案,如果不存在,則始終為false。

isdirectory() 是否是乙個目錄,如果不存在,則始終為false。

ishidden() 是否是乙個隱藏的檔案或是否是隱藏的目錄。

isabsolute() 測試此抽象路徑名是否為

獲取:getname() 獲取檔案或資料夾的名稱,不包含上級路徑。

getpath()       返回絕對路徑,可以是相對路徑,但是目錄要指定

getabsolutepath() 獲取檔案的絕對路徑,與檔案是否存在沒關係

length() 獲取檔案的大小(位元組數),如果檔案不存在則返回0l,如果是資料夾也返回0l。

getparent() 返回此抽象路徑名父目錄的路徑名字串;如果此路徑名沒有指定父目錄,則返回null。

lastmodified() 獲取最後一次被修改的時間。

資料夾相關:

staic file listroots() 列出所有的根目錄(window中就是所有系統的碟符)

list() 返回目錄下的檔案或者目錄名,包含隱藏檔案。對於檔案這樣操作會返回null。

listfiles() 返回目錄下的檔案或者目錄物件(file類例項),包含隱藏檔案。對於檔案這樣操作會返回null。

list(filenamefilter filter) 返回指定當前目錄中符合過濾條件的子檔案或子目錄。對於檔案這樣操作會返回null。

listfiles(filenamefilter filter) 返回指定當前目錄中符合過濾條件的子檔案或子目錄。對於檔案這樣操作會返回null。

目錄過濾:

listfiles(filenamefilter filter) 返回指定當前目錄中符合過濾條件的子檔案或子目錄。對於檔案這樣操作會返回null。

list(filenamefilter filter) 返回指定當前目錄中符合過濾條件的子檔案或子目錄。對於檔案這樣操作會返回null。

udp 前進的火車 新浪部落格

udp通訊協議的特點 1.將資料極封裝為資料報,面向無連線。2.每個資料報大小限制在64k中 3.因為無連線,所以不可靠 4.因為不需要建立連線,所以速度快 5.udp 通訊是不分服務端與客戶端的,只分傳送端與接收端。比如 物管的對講機,遊戲.udp協議下的socket datagramsocket...

List Set 前進的火車 新浪部落格

collection 單列集合的根介面 list 如果實現了list介面的集合類,具備的特點 有序,可重複。arraylist arraylist 底層是維護了乙個object陣列實現 的,特點 查詢速度快,增刪慢。linkedlist linkedlist底層是使用了鍊錶資料結構實現的,特點 查詢...

Label Button 前進的火車 新浪部落格

1.label uilabel label uilabel alloc init 建立 self label label 關聯到當前屬性 label.text 顯示的內容 顯示的內容 cgfloat width self view.bounds.size.width 獲取螢幕的寬度 label.fr...