JAVA IO操作知識彙總
Java的核心庫提供了全面的IO介面。包括:檔案讀寫、標準裝置輸出等。Java中IO是以流為基礎進行輸入輸出的,所有資料被序列化寫入輸出流,或者從輸入流讀入。下面YJBYS小編為大家整理了關於JAVA IO操作知識彙總的文章,希望對你有所幫助。
一、流的概念
流是位元組序列的抽象概念。流和檔案的差別:檔案是資料的靜態儲存形式,而流是指資料傳輸時的形態。檔案只是流的操作物件之一。流按其操作的物件不同可以分為檔案流、網路流、記憶體流、磁帶流等。Java流類可分為兩個大類:節點流類和過濾流類(也叫處理流類)
1、節點流類:用於直接操作目標裝置所對應的流類。節點流類所對應的IO源或目標稱為流節點。比如我們用一個類和一個檔案或網路相關聯,那麼這個類就叫做節點流類,這個檔案或網路就叫做流的節點。
二、InputStream和OutputStream類
1、InputStream類:程式可以從中連續讀取位元組的'物件叫輸入流,在Java中,用InputStream類來描述所有輸入流的抽象概念。這個類是抽象類。
2、OutputStream類:程式可以向其連續寫入位元組的物件叫輸出流,在Java中,用OutputStream類來描述所有輸出流的抽象概念。這個類也是抽象類。
三、FileInputStream和FileOutputStream類
1、這兩個類分別用來建立磁碟檔案的輸入流和輸出流物件,通過他們的建構函式來指定檔案路徑和檔名。
2、有兩種方法建立FileInputStream
(1)、FileInputStream inFirst = new FileInputStream("");
(2)、File f = new File("");
FileInputStream inSecond = new FileInputStream(f);
四、Reader和Writer類
1、上面的幾個類,他們在讀取或寫入的時候,都是進行位元組操作,要顯示出來還要進行字串轉換。
2、用Reader和Writer類就可以直接進行字串讀取,簡化了字串的輸入輸出程式設計。但他們都是抽象類,用他們的子類FileReader、FileWriter就可以直接使用。
五、PipedInputStream和PipedOutputStream類
PipedInputStream和PipedOutputStream類用於在應用程式中建立管道通訊。一般用在程序間通訊。
六、PipedWriter和PipedReader類
這兩個類用於在管道中的字串通訊。
七、ByteArrayInputStream和ByteArrayOutputStream類
ByteArrayInputStream和ByteArrayOutputStream,用於以IO流的方式來完成對位元組陣列內容的讀寫,來支援類似記憶體虛擬檔案或者記憶體映像檔案的功能。
-
關於Java Socket網路傳輸的序列化機制
採用JavaSocket網路傳輸的`序列化機制,將物件壓扁成二進位制位元組,將二進位制位元組在網路中傳輸;自定義協議,將物件用字串描述出來,將字串用二進位制表示,在網路中傳輸,在另外一邊用相反的策略解析這個字串,重新構造業務物件,這個方法能夠在異構平臺中進行傳輸而不變形,但...
-
SUN認證考試知識點:java讀取檔案內容的函式
publicstaticStringreadFile(StringfileName){Stringoutput="";Filefile=newFile(fileName);if(ts()){if(le()){try{BufferedReaderinput=newBufferedReader(newFileReader(file));StringBufferbuffer=newStringBuffer();Stringtext;while((text=Line())!=null...
-
Java讀取xml檔案的方法
xml檔案:Xml程式碼A1234XX省XX市B1234XX省XX市二七區第一種DOM實現方法:Java程式碼import;importmentBuilder;importmentBuilderFactory;importment;importList;publicclassMyXMLReader2DOM{publicstaticvoidmain(Stringarge[]){longlasting=entTimeMillis();try{Fil...
-
Sun軟體策略放原始碼
Sun目前的軟體策略可以總結為一個詞:開放原始碼。Sun已經使SolarisUnix作業系統開放原始碼化,Sun公司CEO喬納森表示,Sun將最終使其所有軟體技術開放原始碼化,甚至包括Java程式語言。Sun的目的是用開放原始碼商業模式的破壞力蠶食其它軟體廠商的市場份額。與兩年前...