00090_字節輸入流InputStream
阿新 • • 發佈:2017-12-24
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 = newFile("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