1. 程式人生 > >00090_字節輸入流InputStream

00090_字節輸入流InputStream

color ati 基本 pub 取數據 數據源 臨時 代碼 定量

1、字節輸入流InputStream

  (1)通過InputStream可以實現把內存中的數據寫出到文件;

  (2)把內存中的數據寫出到文件InputStream此抽象類,是表示字節輸入流的所有類的超類。,定義了字節輸入流的基本共性功能方法;

  (3)int read():讀取一個字節並返回,沒有字節返回-1;

  (4)int read(byte[]): 讀取一定量的字節數,並存儲到字節數組中,返回讀取到的字節數。

2、FileInputStream類

  (1)InputStream有很多子類,其中子類FileInputStream可用來讀取文件內容。;

  (2)FileInputStream 從文件系統中的某個文件中獲得輸入字節。

3、FileInputStream類讀取數據read方法

  (1)在讀取文件中的數據時,調用read方法,實現從文件中讀取數據;

  (2)從文件中讀取數據,代碼演示:

 1 import java.io.File;
 2 import java.io.FileInputStream;
 3 import java.io.IOException;
 4 
 5 public class FileInputStreamDemo {
 6     public static void main(String[] args) throws IOException {
 7         File file = new
File("d:\\HelloWorld.txt"); 8 // 創建一個字節輸入流對象,必須明確數據源,其實就是創建字節讀取流和數據源相關聯。 9 FileInputStream fis = new FileInputStream(file); 10 // 讀取數據。使用 read();一次讀一個字節。 11 int ch = 0; 12 while ((ch = fis.read()) != -1) { 13 System.out.println("ch=" + (char) ch); 14 }
15 // 關閉資源。 16 fis.close(); 17 } 18 }

4、讀取數據read(byte[])方法

  (1)在讀取文件中的數據時,調用read方法,每次只能讀取一個,太麻煩了;

  (2)我們可以定義數組作為臨時的存儲容器,這時可以調用重載的read方法,一次可以讀取多個字符。

 1 import java.io.File;
 2 import java.io.FileInputStream;
 3 import java.io.IOException;
 4 
 5 public class FileInputStreamDemo2 {
 6     public static void main(String[] args) throws IOException {
 7         /*
 8          * 演示第二個讀取方法, read(byte[]);
 9          */
10         File file = new File("d:\\HelloWorld.txt");
11         // 創建一個字節輸入流對象,必須明確數據源,其實就是創建字節讀取流和數據源相關聯。
12         FileInputStream fis = new FileInputStream(file);
13         // 創建一個字節數組。
14         byte[] buf = new byte[1024];// 長度可以定義成1024的整數倍。
15         int len = 0;
16         while ((len = fis.read(buf)) != -1) {
17             System.out.println(new String(buf, 0, len));
18         }
19         fis.close();
20     }
21 }

00090_字節輸入流InputStream