第一種分法:輸入流和輸出流java
第二種分法:字節流和字符流 字節流核心類 InputStream OutputStream是父類,其餘字節流都是子類。數組
都是抽象類,不能生成對象,要用子類生成對象,FileInputStream FileOutStreamspa
第三種分法:節點流和處理流命令行
InputStream:code
void intread(byte [] b , int off , int len)
OutputStream:對象
void write(byte [] b , int off , int len)
實例:字符串
from.txt文件內容爲it
123456789
Test.java 首先個人代碼目錄在d:/work/src/Test.java 而個人from.txt和to.txt也是在這目錄下io
//第一步驟:導入類; import java.io.*; class Test{ public static void main(String args []){ //聲明輸入流引用 FileInputStream fis = null; try{ //生成表明輸入流的對象 fis = new FileInputStream("d:/work/src/from.txt"); //生成一個字節數組 byte [] buffer = new byte[100]; //調用輸入流對象的read方法,讀取數據 fis.read(buffer, 0 ,buffer.length); String s = new String(buffer); //調用一個String對象的trim方法,將會去除掉這個字符串 //的首尾空格和空字符 s = s.trim(); System.out.println(s); } catch(Exception e){ System.out.println(e); } } }完成讀操做。
Test2.java編譯
//第一步驟:導入類; import java.io.*; class Test2{ public static void main(String args []){ //聲明輸入流引用 FileInputStream fis = null; FileOutputStream fos = null; try{ //生成表明輸入流的對象 fis = new FileInputStream("d:/work/src/from.txt"); //生成表明輸出流的對象 fos = new FileOutputStream("d:/work/src/to.txt"); //生成一個字節數組 byte [] buffer = new byte[100]; //調用輸入流對象的read方法,讀取數據 int temp = fis.read(buffer, 0 ,buffer.length); //調用輸出流對象的write方法,寫入數據 fos.write(buffer, 0, temp); //String s = new String(buffer); //調用一個String對象的trim方法,將會去除掉這個字符串 //的首尾空格和空字符 //s = s.trim(); //System.out.println(s); } catch(Exception e){ System.out.println(e); } } }完成讀寫操做。能夠看到to.txt裏的內容跟from.txt裏的內容一致。
編譯要在命令行裏打javac Test.java
javac Test2.java
執行
java Test
java Test2