1. 程式人生 > >JAVA IO初識

JAVA IO初識

看了別個的帖子,自己精簡的記一下。以備檢視

原帖

http://blog.csdn.net/zxman660/article/details/7875799


首先,在JAVA API中,可以從其中讀入一個字元序列的物件稱作輸入流,而可以從中寫入一個字元序列的物件稱作輸出流。



操作流程

JavaIO操作也是有相應步驟的,以檔案操作為例,主要的操作流程如下:

使用File類開啟一個檔案

通過位元組流或字元流的子類,指定輸出的位置

進行讀/寫操作

關閉輸入/輸出


IO操作屬於資源操作,一定要記得關閉


File f = new File("d:" + File.separator+"test.txt");                               //1 使用File類開啟一個檔案
         OutputStream out=new FileOutputStream(f);//如果檔案不存在會自動建立                 // 2 通過位元組流或字元流的子類,指定輸出的位置
         String str="Hello World";
         byte[] b=str.getBytes();
         out.write(b);//因為是位元組流,所以要轉化成位元組陣列進行輸出                          // 3 進行讀/寫操作
         out.close();                                                                    // 4 關閉輸入/輸出

 
 
     
     File f = new File("d:" + File.separator+"test.txt");                              //1 使用File類開啟一個檔案
         Writer out=new FileWriter(f);                                                     //2 通過位元組流或字元流的子類,指定輸出的位置

         String str="Hello World";
         out.write(str);                                                                    //3 進行讀/寫操作

         out.close();                                                                        //  4 關閉輸入/輸出

 
 
 
 



在Java.io包中操作檔案內容的主要有兩大類:位元組流、字元流,兩類都分為輸入和輸出操作。在位元組流中輸出資料主要是使用OutputStream完成,輸入使的是InputStream,在字元流中輸出主要是使用Writer類完成,輸入流主要使用Reader類完成。(這四個都是抽象類)
java中提供了專用於輸入輸出功能的包Java.io,其中包括:
     InputStream,OutputStream,Reader,Writer
     InputStream 和OutputStream,兩個是為位元組流設計的,主要用來處理位元組或二進位制物件,
     Reader和 Writer.兩個是為字元流(一個字元佔兩個位元組)設計的,主要用來處理字元或字串.


字元流處理的單元為2個位元組的Unicode字元,分別操作字元、字元陣列或字串,而位元組流處理單元為1個位元組,操作位元組和位元組陣列。所以字元流是由Java虛擬機器將位元組轉化為2個位元組的Unicode字元為單位的字元而成的,所以它對多國語言支援性比較好!如果是音訊檔案、圖片、歌曲,就用位元組流好點,如果是關係到中文(文字)的,用字元流好點