案例1: 演示FileInputStream類的使用(用FileInputStream的對象把文件讀入到記憶體) 首先要在E盤新建一個文本文件,命名為test.txt,輸入若幹字元 運行程式,控制台輸出test.txt中輸入的字元。 案例2: 演示FileOutputStream的使用(把輸入的字元串 ...
案例1:
演示FileInputStream類的使用(用FileInputStream的對象把文件讀入到記憶體)
首先要在E盤新建一個文本文件,命名為test.txt,輸入若幹字元
1 public class Demo_2 { 2 3 public static void main(String[] args) { 4 File f=new File("e:\\test.txt"); //得到一個文件對象f,指向e:\\test.txt 5 FileInputStream fis=null; 6 7 try { 8 fis=new FileInputStream(f); //因為File沒有讀寫的能力,所以需要使用FileInputStream 9 10 byte []bytes=new byte[1024]; //定義一個位元組數組,相當於緩存 11 int n=0; //得到實際讀取到的位元組數 12 13 while((n=fis.read(bytes))!=-1){ //迴圈讀取 14 String s=new String(bytes,0,n); //把位元組轉成String(只轉0到n位) 15 System.out.println(s); 16 } 17 18 } catch (Exception e) { 19 e.printStackTrace(); 20 }finally{ //關閉文件流必須放在這裡 21 try { 22 fis.close(); 23 } catch (IOException e) { 24 e.printStackTrace(); 25 } 26 } 27 } 28 }
運行程式,控制台輸出test.txt中輸入的字元。
案例2:
演示FileOutputStream的使用(把輸入的字元串保存到文件中)
1 public class Demo_3 { 2 3 public static void main(String[] args) { 4 5 File f=new File("e:\\ss.txt"); 6 FileOutputStream fos=null; //位元組輸出流 7 8 try { 9 fos=new FileOutputStream(f); 10 11 String s="你好,瘋子!\r\n"; //\r\n為了實現換行保存 12 String s2="24個比利"; 13 14 fos.write(s.getBytes()); 15 fos.write(s2.getBytes()); 16 } catch (Exception e) { 17 e.printStackTrace(); 18 }finally{ 19 try { 20 fos.close(); 21 } catch (IOException e) { 22 e.printStackTrace(); 23 } 24 } 25 } 26 }
打開E盤名為ss.txt的文本文檔,存在輸入的字元。
案例3:圖片拷貝
首先在E盤準備一張圖片,命名為a.jpg
1 public class Demo_4 { 2 3 public static void main(String[] args) { 4 //思路 先把圖片讀入到記憶體,再寫入到某個文件 5 //因為圖片是二進位文件,只能用位元組流完成 6 7 FileInputStream fis=null; //輸入流 8 9 FileOutputStream fos=null; //輸出流 10 try { 11 fis=new FileInputStream("e:\\a.jpg"); 12 fos=new FileOutputStream("d:\\a.jpg"); 13 14 byte []bytes=new byte[1024]; 15 int n=0; //記錄實際讀取到的位元組數 16 while((n=fis.read(bytes))!=-1){ //read函數返回讀入緩衝區的位元組總數 17 fos.write(bytes); //輸出到指定文件 18 } 19 } catch (Exception e) { 20 e.printStackTrace(); 21 }finally{ 22 try { 23 fis.close(); 24 fos.close(); 25 } catch (Exception e) { 26 e.printStackTrace(); 27 } 28 } 29 } 30 }
打開D盤,點擊a.jpg,圖片正常顯示即運行成功。