1.IO流的介紹
IO流,I代表input--輸入,O代表output--輸出,流代表資料,在計算機中以位元組存盤,這里的流就是位元組流,
但是我們平時使用的是英文/數字/漢語,這些都是字符,我們也可以直接操作字符,就是字符流,
流:流動,流向,從一端流向另一端,在計算機中,就是在程式和資料源(存盤資料介質的地方)中間的管道,這個管道就是IO流,
IO流是抽象、動態的概念,是一連串連續動態的資料集合,
資料源:提供原始資料的原始媒介,例:資料庫、檔案、其他程式、記憶體、網路連接、IO設備,
IO流中永遠把程式看作中心,進來就是輸入流,出去就是輸出流
在整個java.io包中最重要的就是5個類和3個介面
1.File:檔案類
2.InputStream:位元組輸入流
3.OutputStream:位元組輸出流
4.Reader:字符輸入流
5.Writer:字符輸出流
6.Closeable:關閉流介面
7.Flushable:重繪流介面
8.Serializable:序列化介面
2.流分類
1.流分類(按流向分類):
輸入流:資料源到程式(InputStream、Reader讀進來)
輸出流:程式到目的地(OutputStream、Writer寫進來)
資料源?程式(輸入流?中轉站?輸出流)?目標位置
2.流分類(按功能分類):
節點流:可以直接從資料源或者目的地直接讀寫資料
處理流(包裝流):不直接連接到資料源或目的地,是其他流進行封裝,目的是簡化操作和提高性能,
節點流和處理流關系:
1.節點流處于io操作一線,所有操做必須通過他們進行
2.處理流可以對其它流進行處理,
3.流分類(按資料分類)
1.位元組流:按照位元組讀取資料
2.字符流:按照字符讀取資料,因為檔案編碼不同,從而有了對字符進行高效操作的字符流物件
字符流原理:底層還是基于位元組流,自動搜尋了指定的碼表,
3.File類的構建
File是檔案和目錄路徑名的抽象表示
1.檔案路徑名的書寫
在windows中路徑名由\分割,而java程式不一定都在windows上運行,可能會不識別分隔符
所以統一使用/作為名稱分隔符,或者使用\\作為分隔符,\\是/的轉義字符,
例:

2.構建file類
構造器的引數可以直接為檔案路徑
也可以有兩個引數,第一個引數是檔案父類路徑,第二個引數為檔案名,
或者第一個是檔案父類路徑的物件,第二個引數是檔案名
例:
3.相對路徑和絕對路徑
檔案路徑分為相對路徑和絕對路徑
絕對路徑存在盤符,相對路徑不存在盤符,一般相對路徑都相對與當前工程檔案(user.dir)
注:一般都用相對路徑,因為絕對路徑是依附于電腦上的,不穩定存在,
例:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/149326.html
標籤:Java
