FileOutPutStream 和FileInPutStream:java
- package iotest;
- import java.io.*;
- public class StreamTest {
- /**
- * 流的概念:
- * 一、流是字節順序的抽象概念。
- * 二、文件是數據的靜態存儲形式、而流事是指數據傳輸時的形態。
- * 三、流類分爲兩個大類:節點流和過濾流類(也叫處理流類)。
- * InputStream類:
- * 程序能夠從中連續讀取字節的對象叫輸入流,在java中,用InputStream類來描述全部輸入流的抽象概念。
- * OutPutStream類:
- * 程序能夠向其中連續寫入字節的對象叫輸出流,在java中,用OutPutStream類來描述全部輸出流的抽象概念。
- * FuleInputStream和FileOutPutStream類分別用來建立磁盤文件的輸入流個輸出流對象、經過他們的構造函數來指點文件路徑文件名。
- * 建立FuleInputStream實例對象時,指定的文件應該是存在和可讀的,建立FileOutPutStream實例對象時,若是指定的文件已經存在,這個文件中的原來內容將被覆蓋清楚。
- * 對同一個磁盤文件建立FuleIntputStream對象的兩種方式:
- * (1)、FileInPutStream inOne = new FileInPutStream("hello.test");
- * (2)、File f = new ("hello.test");
- * FileInPutStream inTwo = new FileInPutStream(f);
- * 建立FileOutPutStream實例對象時,能夠指定還不存在的文件名,不能指定一個已被其餘程序打開了的文件。
- * 例題:用FileOutPutStream類向文件中寫入一個字符串,而後用FileInPutStream讀出寫入的內容
- * @param args
- * @throws IOException
- */
- public static void main(String[] args) throws IOException {
- /* FileOutputStream類:文件輸出流是用於將數據寫入 File 或 FileDescriptor 的輸出流。
- *
- *
- * FileOutputStream(String name)構造:建立一個向具備指定名稱的文件中寫入數據的輸出文件流。
- *
- */
- FileOutputStream fout = new FileOutputStream("hzw//hello.txt");
- /*
- * Writer方法: b.length 個字節從指定 byte 數組寫入此文件輸出流中。
- *
- * String.getBytes()方法用於將字符串轉換爲字節數組
- */
- fout.write("www.hzw.com".getBytes());
- //關閉流
- fout.close();
- /*
- * 建立一個file對象: 文件和目錄路徑名的抽象表示形式。
- *
- * File(String name)構造:經過將給定路徑名字符串轉換爲抽象路徑名來建立一個新 File 實例。
- */
- File f = new File("hzw//hello.txt");
- /*
- * FileInputStream類:用於讀取諸如圖像數據之類的原始字節流。要讀取字符流,請考慮使用 FileReader。
- *
- * FileInputStream(File file)構造:經過打開一個到實際文件的鏈接來建立一個 FileInputStream,
- * 該文件經過文件系統中的 File 對象 file 指定。
- */
- FileInputStream input = new FileInputStream(f);
- /*
- * 建立一個byte(字節)類型數組
- */
- byte[] by = new byte[1024];
- /*
- * read方法:今後輸入流中讀取一個數據字節。
- *
- * read(byte[] b)方法:今後輸入流中將最多 b.length 個字節的數據讀入一個 byte 數組中。
- *
- * 返回:讀入緩衝區的字節總數,若是由於已經到達文件末尾而沒有更多的數據,則返回 -1。
- */
- int len = input.read(by);
- /*
- * String(by,0,len)構造: 用於將by數組轉換成字符串——從0開始到len(Int變量值)結束
- */
- System.out.println(new String(by,0,len));
- //關閉流
- input.close();
- }
- }
FileWriter、FileReader類:數組
- package iotest;
- import java.io.*;
- public class IoStringTest {
- /**
- * java 中專門有兩個類分別對字符串進行輸入跟輸出處理。Reader、Writer類
- *
- * 使用FileWriter類向文件中寫入一個字符串,而後用FileReader類讀出寫入的內容
- *
- * @param args
- * @throws IOException
- */
- public static void main(String[] args) throws IOException {
- /*
- * FileWriter(繼承OutputStreamWriter類 ):用來寫入字符文件的便捷類。
- *
- * FileWriter(String name):根據給定的文件名構造一個 FileWriter 對象。
- */
- FileWriter wr = new FileWriter("hzw//tiantian.txt");
- /*
- * write:繼承OutputStreamWriter類 write方法——的寫入字符串。
- */
- wr.write("何祖文");
- //有興趣的能夠把這句代碼刪掉試試!!!
- wr.close();
- char[] ch = new char[1024];
- /*
- * FileReader(繼承InputStreamReader類):用來讀取字符文件的便捷類。
- *
- * FileReader(String fileName):在給定從中讀取數據的文件名的狀況下建立一個新 FileReader。
- */
- FileReader re = new FileReader("hzw//tiantian.txt");
- /*
- * read:繼承InputStreamReader類的read方法——試圖將字符讀入指定的字符緩衝區。
- *
- * 返回:添加到緩衝區的字符數量,若是此字符源位於緩衝區末端,則返回 -1
- */
- int len = re.read(ch);
- System.out.println(new String(ch,0,len));
- re.close();
- }
- }