1. 程式人生 > >java中的io

java中的io

new readline 父類 內容 都是 lin 字符流 txt tst

  最基本的是根據處理數據類型的不同分為:字符流和字節流

  字節流:數據流中最小的數據單元是字節
  字符流:數據流中最小的數據單元是字符, Java中的字符是Unicode編碼,一個字符占用兩個字節。

  字符流的由來: Java中字符是采用Unicode標準,一個字符是16位,即一個字符使用兩個字節來表示。為此,JAVA中引入了處理字符的流。因為數據編碼的不同,而有了對字符進行高效操作的流對象。本質其實就是基於字節流讀取時,去查了指定的碼表

  最常用的字節流是inputstream和OutputStream,是其他字節流的父類;

  最常用的字符流父類是Reader和Writer,InputStreamReader是一個連接字節流和字符流的橋梁,它將字節流轉變為字符流; OutputStreamWriter是OutputStream到Writer轉換的橋梁,

  

  個人在理解這些內容時候認為,電腦中磁盤上存的文件都是以字節形式存儲,

  inputstream和OutputStream可以直接去操作這些文件,所以認為其是字節流

  例如  InputStream fis = new FileInputStream("d:/a.txt");

      read = fis.read();
      System.out.println(read);

  而InputStreamReader,OutputStreamWriter等都是需要借助FileInputStream、OutputStream去操作,所以理解其為字符流

  例如  BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("d:/a.txt"),"UTF-8"));

     String line = br.readLine();
     System.out.println(line);

     while((line = br.readLine())!=null) {
     System.out.println(line);
       }
     br.close();

java中的io