Java IO流 FileOutputStream、FileInputStream的用法
阿新 • • 發佈:2020-12-10
FileOutputStream、FileInputStream的使用
FileOutputStream是OutputStream的繼承類,它的主要功能就是向磁碟上寫檔案。FileOutputStream類中的write方法會把位元組一個一個的寫入磁碟中。
以下是使用FileOutputStream輸出流將資料寫入到指定的檔案中,在構建FileOutputStream輸出流物件的過程中,如果指定的檔案不存在,那麼就建立該檔案。
package com.tianjh.io.outputstream; import java.io.FileOutputStream; import java.io.IOException; /** * Created on 2020/12/9 * 向磁碟上指定檔案檔案寫入資料 * $FileOutputStreamDemo用法 * */ public class FileOutputStreamDemo { public static void main(String[] args) { FileOutputStream fileOutputStream; try { // 構建FileOutputStream物件,"D:/one.txt"檔案不存在會自動新建 fileOutputStream = new FileOutputStream("D:/one.txt"); // write方法會把位元組一個一個的寫入磁碟中 write方法支援byte、int基本型別 byte aa = 97; fileOutputStream.write(aa); int bb = 98; fileOutputStream.write(bb); char cc = 'c'; // 沒有write(char),只能機器自動從char轉到int fileOutputStream.write(cc); // String dd = "100"; // fileOutputStream.write(dd); // fileOutputStream.write(dd)會報錯, 因為FileOutputStream流中沒有write(String)方法, // 不過在PrintStream中有write(String)方法 } catch (IOException e) { e.printStackTrace(); } } }
執行之後得到如下檔案:
FileInputStream是IntputStream的繼承類,它的主要功能就是向磁碟上讀檔案。FileInputStream類的read方法會一個一個位元組的從磁碟往回讀資料。下列是通過FileInputStream檔案輸入流讀取指定檔案 "D:/hello.txt"中的資料。
package com.tianjh.io.inputstream; import java.io.*; /** * Created on 2020/12/9 * 從磁碟上讀入檔案,並輸出到控制檯 * $FileInputStreamDemo用法 * */ public class FileInputStreamDemo { public static void main(String[] args) { FileInputStream fileInputStream; int size; try { // 使用字串型別的檔名建立一個檔案輸入流物件來讀取檔案 fileInputStream = new FileInputStream("D:/hello.txt"); // available() 返回從此輸入流中可以讀取(或跳過)的剩餘位元組數的估計值,而 // 不會被下一次呼叫此輸入流的方法阻塞。 size = fileInputStream.available(); for (int i = 0; i < size; i++) { System.out.print((char) fileInputStream.read()); // expected output: hello world! } } catch (IOException e) { e.printStackTrace(); } } }
hello.txt 檔案內容如下:
控制檯輸出的結果為:
hello world!