輸入資料流:檔案 --->程式
輸出資料流:程式---->檔案
Java中的四種抽象流:
輸入資料流:InputStream(位元組輸入資料流) Reader(字元輸入資料流)
輸出資料流:OutputStream(位元組輸出資料流) Writer(字元輸出資料流)
區別:
字元流常用語操作文字檔,對於映像、音視頻等檔案,則只能用位元組流。
操作流的步驟:
1)得到IO操作的源或目標
2)得到IO操作的通道
3)進行IO操作
4)關閉IO
OutputStream:
import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;public class OuputStreamDemo {public static void main(String[] args) throws IOException {//1.找到流的目標File file = new File("d:/Test/test.txt");//2.建立輸出資料流的管道,並串連上目標OutputStream os = new FileOutputStream(file);//3.輸入輸出//位元組輸出資料流只能一個一個直接的寫資料os.write('\n');for (int i = 0; i < 20; i++) {os.write(i);}String str = "hello,world";byte[] b = str.getBytes();os.write(b);//4.關閉操作os.close();}}
InputStream:
import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;public class InputStreamDemo {public static void main(String[] args) throws IOException {File file = new File("D:/Test/筆記.txt");InputStream is = new FileInputStream(file);byte[] buff = new byte[1024];int len = 0;while((len=is.read(buff))!=-1){String str = new String(buff,0,len);System.out.println(str);}//中文會亂碼,中文是雙位元組,英文為單位元組is.close();}}