通過位元組流來對檔案進行讀寫操作
阿新 • • 發佈:2019-02-05
import java.io.*; public class OutPutStreamDemo01 { public static void main(String[] args) throws Exception{ File f=new File("C:\\Users\\xinle\\Desktop"+File.separator+"test.txt");//宣告一個檔案物件,該檔案物件暫時創建於快取當中 f.createNewFile();//在指定的路徑下建立一個資料夾 OutputStream out=null;//宣告一個輸出流物件 out=new FileOutputStream(f);//建立檔案f的輸出流物件,進行物件的上轉型操作(FileOutputStream類為OutputStream類的子類) String str="HelloWorld!"; byte b[]=str.getBytes();//將一個字串轉化為一個位元組陣列 out.write(b);//將轉換來的位元組陣列通過輸出流寫入到相應的檔案當中去 out.close();//關閉檔案輸出流物件操作 //在指定的檔案後面再追加新的內容 out=new FileOutputStream(f,true);//重新建立一個物件輸出流來在指定的檔案後面追加內容 str="bxl l zxq"; byte s[]=str.getBytes(); out.write(s);//將轉變為位元組陣列的內容追加到指定檔案當中去 out.close(); //將指定檔案當中的內容讀取出來 InputStream input=null;//宣告一個輸出流物件將檔案當中的資料輸出到操作檯當中 input=new FileInputStream(f);//建立屬於檔案f的輸出流操作 byte by[]=new byte[102];//開闢一個位元組陣列用於存放從檔案當中讀取的資料資訊 input.read(by);//將讀取到的資訊存入到指定的位元組陣列當中 input.close(); //將位元組陣列當中的資訊轉變為字串進行輸出操作 System.out.print("內容為:"+new String(by)+"\n"); input.close(); //執行後發現在字串的後面會有大量的空格字串這是應為開闢的位元組陣列空間沒有全部用完造成的 //要想改變該操作可以進行一下操作 byte byt[]=new byte [1024]; input=new FileInputStream(f); int len=input.read(byt);//得到從位元組陣列當中取得的位元組長度 System.out.println("讀入資料的長度為:"+len); System.out.println("內容為:"+new String(byt,0,len)); } }
程式的執行結果為:
1:在指定的路徑下建立相關的檔案並將相應的內容寫入到檔案當中去
2:操作檯當中的執行結果為: