Java基礎之FileInputStream和FileOutputStream流詳解
一、前言
FileInputStream 用於讀取本地文件中的字節數據,繼承InputStream類
FileOutputStream 將字節數據寫到文件,繼承OutputStream類
二、創建流對象
FileInputStream fis= new FileInputStream(“絕對路徑”);
FileOutputStream fos= new FileOutputStream(“絕對路徑”);
三、FileInputStream常用方法
1.構造函數,打開實際文件路徑連接來創建FileInputStream
FileInputStream(路徑);
2.關閉文件輸入輸出流,釋放有關系統資源
沒有返回值,一般搭配輸入輸出留的對象
close(); fis.close(); fos.close();
3.讀取數據字節,有返回值
read();返回的是字節的(0-255)內的字節值,讀一個自動到下一個,遇到-1即退出
read();//讀取一個數據字節, read(byte[] b);//將b.length個字節的數據讀入一個 byte 數組中 read(byte[] b,int off,int len)//將off到len 個字節的數據讀入一個byte 數組中
4.從輸入流中跳過並丟棄 n 個字節的數據
kip(long n); //返回值為long
四、FileOutputStream常用方法
寫入文件
write(int b);//將指定字節寫入文件,寫入字節形式的(0-255)int值. write(byte[] b); //將b.length 個字節從指定 byte 數組寫入此文件 write(byte[] b, int off, int len); //將指定 byte 數組中從偏移量 off 開始的 len 個字節寫入文件
五、輸入輸出流測試代碼
一個個字節讀入,並一個個字節輸出到另一個文件,即復制文件
class test1{ public static void main(String[] args) throws IOException { int b; FileInputStream fis = new FileInputStream("C:\\Users\\86135\\Desktop\\text1.txt"); //創建輸入流對象 FileOutputStream fos = new FileOutputStream("C:\\Users\\86135\\Desktop\\text2.txt"); //創建輸出流對象 while((b = fis.read()) != -1) { //將每次讀到的賦值給b System.out.println(b); fos.write(b); //將b中的字節寫出去 } fis.close();/關流,釋放資源 fos.close(); } }
該測試代碼輸出的是對應的ASCII碼值,每一個換行都會在輸出對應的換行和回車鍵的ASCII碼
並且將text1的文件復制到text2文件,隻不過是一個個字節傳送,比較緩慢
設置緩沖區,將一個個字節存放之後,在對應輸入輸出,加快瞭速度
class test1{ public static void main(String[] args) throws IOException { //int b; FileInputStream fis = new FileInputStream("C:\\Users\\86135\\Desktop\\text1.txt"); //創建輸入流對象 FileOutputStream fos = new FileOutputStream("C:\\Users\\86135\\Desktop\\text2.txt"); //創建輸出流對象 byte[] bytes = new byte[1024*10];//用數組當一個緩沖區 while(( fis.read(bytes)) != -1) { System.out.println(bytes); //將每次讀到的賦值給bytes fos.write(bytes); //將bytes中的字節寫出去 } fis.close(); //關流,釋放資源 fos.close(); } }
可以將以上的方法在代碼中一個個嘗試
到此這篇關於Java基礎之FileInputStream和FileOutputStream流詳解的文章就介紹到這瞭,更多相關Java FileInputStream和FileOutputStream流內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java中IO流解析及代碼實例詳解
- 一篇文章帶你深入瞭解javaIO基礎
- java基礎知識之FileInputStream流的使用
- Java IO流之字節輸入流的使用詳解
- Java I/O流使用示例詳解