io操作的目標
IO的流向
IO中的核心類
核心類的核心方法
int len 是 len是length
import java.io.*;public class Test {public static void main(String args[]){//聲明輸入資料流引用FileInputStream fis = null;try{//產生代表輸入資料流的對象fis = new FileInputStream("E:/baidu player/A.txt");//產生一個位元組數組byte [] buffer = new byte[100];//調用輸入資料流對象的read方法,讀取資料fis.read(buffer, 0, buffer.length);for(int i = 0; i < buffer.length; i++){System.out.println(buffer[i]);}}catch(Exception e){System.out.println(e);}}}
輸出結果:
在後面輸出的96個結果都是0 ,他們把前面幾個0覆蓋了
為什麼是abcd是 97 98 99 100 ? ,因為abcd
ASCII碼對應的是 97 98 99 100
public class Test {public static void main(String args[]){//聲明輸入資料流引用 讀FileInputStream fis = null;try{//產生代表輸入資料流的對象fis = new FileInputStream("E:/baidu player/A.txt");//產生一個位元組數組byte [] buffer = new byte[100];//調用輸入資料流對象的read方法,讀取資料 fis.read(buffer, 5, buffer.length - 5); for(int i = 0; i < buffer.length; i ++ ){ System.out.println(buffer[i]); }}catch(Exception e){System.out.println(e);}}}
輸出
在第5個零後97 98 99 100 101 ,為什麼前5個是0, 因為 位移量offeset位移量為5
為什麼是abcd是 97 98 99 100 101 ? ,因為abcd ASCII碼對應的是 97 98 99 100 101
第三種情況 去除其餘的量的方法
for(int i = 0; i < buffer.length; i ++ ){ String s = new String(buffer); //調用一個String對象的trim方法,將會去除掉這個字串 //的首尾空格和Null 字元 //" abc def ">>> "abc def" (中間空格保留) s = s.trim(); System.out.println(s); }
import java.io.*;public class Test {public static void main(String args[]){//聲明輸入資料流引用 讀FileInputStream fis = null;//聲明輸出資料流的引用 寫FileOutputStream fos = null;try{//產生代表輸入資料流的對象fis = new FileInputStream("E:/baidu player/A.txt");//生存代表輸出資料流的對象fos = new FileOutputStream("E:/baidu player/Write.txt");//產生一個位元組數組byte [] buffer = new byte[100];//調用輸入資料流對象的read方法,讀取資料int temp = fis.read(buffer, 0, buffer.length);fos.write(buffer, 0, temp);}catch(Exception e){System.out.println(e);}}}
輸出: 該檔案夾下 產生Write.txt檔案。 A.txt內容是abcde , write裡面是 A.txt的內容 abcde。。 成功拷貝寫入內容