黑馬程式設計師——IO的進一步學習
阿新 • • 發佈:2019-02-01
------- android培訓、java培訓、期待與您交流! ----------
今天視訊主要學習了,緩衝區在IO中的運用,以及裝飾模式與 字元流和位元組流的轉換。
import java.io.*; class BufferedReaderDemo { public static void main(String[] args) throws IOException { //建立流物件與檔案關聯 FileReader fr=new FileReader("e:\\lianxi.txt"); BufferedReader bufr=new BufferedReader(fr); //String s1=bufr.readLine(); //System.out.println("顯示"+s1); String line=null; while((line=bufr.readLine())!=null) { System.out.println("顯示:"+line); } } }
一個小練習,通過緩衝區來複制檔案,自己使用try,catch方法處理異常。
import java.io.*; class CopyBuffer { public static void main(String[] args) { BufferedReader bufr=null; BufferedWriter bufw=null; try { bufr=new BufferedReader(new FileReader("d:\\java\\IfTest.java")); bufw=new BufferedWriter(new FileWriter("d:\\jad\\copy.txt")); String line=null; while((line=bufr.readLine())!=null) { bufw.write(line); //System.out.println(line); bufw.newLine(); bufw.flush(); } } catch (IOException e) { throw new RuntimeException("緩衝失敗"); } finally { try { if(bufr!=null) bufr.close(); } catch (IOException e) { throw new RuntimeException("緩衝失敗"); } try { if(bufw!=null) bufw.close(); } catch (IOException e) { throw new RuntimeException("緩衝失敗"); } } } }
由於圖片不涉及到字元,所以不能用字元流。這裡練習用位元組流來複製圖片。
import java.io.*; class CopyPic { public static void main(String[] args) throws IOException { FileOutputStream fos=null; FileInputStream fis=null; try { byte[] buf=new byte[1024]; fos=new FileOutputStream("e:\\tupian.jmp"); fis=new FileInputStream("f:\\圖片\\2234.jpg"); int len=0; while((len=fis.read(buf))!=-1) { fos.write(buf,0,len); } } catch (IOException e) { throw new RuntimeException("複製檔案失敗"); } finally { try { if(fis!=null) fis.close(); } catch (IOException e) { throw new RuntimeException("關閉輸入流失敗"); } try { if(fos!=null) fos.close(); } catch (IOException e) { throw new RuntimeException("關閉輸出流失敗"); } } } }
------- android培訓、java培訓、期待與您交流! ----------
詳細請檢視:http://edu.csdn.net/heima/