1 package com.test; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileNotFoundException; 6 import java.io.FileOutputSt.....
1 package com.test; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 import java.io.FileNotFoundException; 6 import java.io.FileOutputStream; 7 import java.io.IOException; 8 import java.io.InputStream; 9 import java.io.OutputStream; 10 /** 11 * 流是一組有順序的,有起點和重點的位元組集合,是對數據傳輸的總稱和抽象。及數據在兩設備之間的傳輸稱為流。 12 * 流的本質是數據傳輸,根據數據傳輸特性將流抽象為各種類,以便更直觀的進行數據操作。 13 * 處理數據類型:位元組流和字元流 14 * 流向不同 :輸入流和輸出流 15 * @author lcdn 16 * 17 */ 18 public class TestByteSream { 19 /** 20 * 位元組輸入流:從文件向程式中讀入數據---讀 21 * InputStream類:此抽象類表示位元組輸入流的所有類的超類 22 * 從文件系統的某個文件中獲得輸入位元組用FileInputStream 23 */ 24 public static void read(){ 25 File file = new File("e://b.txt"); 26 try { 27 //針對文件建立輸入流 28 InputStream in = new FileInputStream(file); 29 byte[] bytes = new byte[1024*1024];//定義一個位元組數組 30 int len = -1;//每次真實讀取的長度 31 StringBuffer buf = new StringBuffer(); 32 while((len = in.read(bytes))!=-1){//表示有可讀數據 33 buf.append(new String(bytes,0,len)); 34 } 35 in.close(); 36 System.out.println(buf); 37 } catch (FileNotFoundException e) { 38 // TODO Auto-generated catch block 39 e.printStackTrace(); 40 } catch (IOException e) { 41 // TODO Auto-generated catch block 42 e.printStackTrace(); 43 } 44 } 45 /** 46 * 位元組輸出流:從程式向文件中輸出數據---寫 47 * OutputStream類:此抽象類是輸出位元組流的所有類的超類,輸出流接收輸出位元組並將這些位元組 48 * 發送到InoutStream類的某個接收器。 49 * 要向文件中輸出使用FileOutputStream 50 */ 51 public static void write(){ 52 File file = new File("e://b.txt"); 53 if(!file.exists()){ 54 try {//文件可能不可寫 55 file.createNewFile(); 56 } catch (IOException e) { 57 // TODO Auto-generated catch block 58 e.printStackTrace(); 59 } 60 }else{ 61 try { 62 /** 63 * 針對文件建立輸出流 64 * FileOutStream構造方法之第二參數“true”表示在原有文件的內容上繼續寫入數據不覆蓋,反之 65 */ 66 OutputStream out = new FileOutputStream(file, true); 67 String info = "Android之Java基礎第二篇!"; 68 //向文件中寫入數據 69 out.write(info.getBytes()); 70 //關閉輸出流 71 out.close(); 72 } catch (FileNotFoundException e) { 73 // TODO Auto-generated catch block 74 e.printStackTrace(); 75 } catch (IOException e) { 76 // TODO Auto-generated catch block 77 e.printStackTrace(); 78 } 79 } 80 } 81 public static void main(String[] args){ 82 //write(); 83 read(); 84 } 85 }