程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java學習總結,java總結

Java學習總結,java總結

編輯:JAVA綜合教程

Java學習總結,java總結


  Java類庫裡有四個表示流的抽象父類:InputStream、OutputStream、Reader、Writer。

  其中 InputStream 和 OutputStream 是對字節進行操作的輸入流和輸出流;Reader 和 Writer 是對字符操作的輸入輸出流。

  它們是抽象類,在用它們的時候必須要對其進行實例化,因此類庫也提供了具有不同功能的它們的子類,比如,以文件形式輸入輸出的FileInputStream、FileOutputStream和FileReader、FileWriter等。

  --------------------------------------------------------------

  一、字節流

  1. InputStream、OutputStream 只能進行字節的傳輸數據

         InputStream抽象了應用程序讀取數據的方式

       OutputStream抽象了應用程序寫出數據的方式

  2. EOF = End,讀到 -1 就讀到結尾。

  3. 輸入流的基本方法(以下的 in 代表輸入流的對象)

      int b = in.read();

      從流讀取一個字節無符號填充到int的低8位。(一個int變量是4個字節,1字節=8位,read()方法只能讀取一個字節並返回int,所以該字節填充到int的低八位。)若讀到結尾,返回 -1。

      in.read(byte[] buf);

      從流讀取數據直接填充到字節數組buf,讀取字節的個數取決於數組的長度。

      in.read(byte[] buf, int start, int size);

      從流讀取數據到字節數組buf,從buf的start位置開始,存放size長度的數據。

  4. 輸出流的基本方法(以下的 out 代表輸出流的對象)

      out.write(int b);

      寫出一個byte到流,寫出的是b的低8位。

      out.write(byte[] buf);

      將一個字節數組寫出到流。

      out.write(byte[] buf, int start, int size);

      從buf的start位置開始,寫size長度的數據到流。

  5. FileInputStream 是InputStream的子類,具體實現了在文件上讀取數據:

package test;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;

public class TestDemo {
    
    public static void main(String[] args) throws Exception {
        //我們在D盤下創建了一個demo.txt,內容為“你好hello”。
        File file = new File("D:\\demo.txt");
        if(!file.exists()) file.createNewFile();
        InputStream in = new FileInputStream(file);
        int temp;
        while((temp = in.read()) != -1) {
            System.out.print(Integer.toHexString(temp & 0xff) + " ");
        }
        in.close();
        System.out.println();
        
        InputStream in2 = new FileInputStream(file);
        byte[] buf = new byte[1024];
        in2.read(buf);
        String s = new String(buf,"GBK");
        System.out.println(s);
        in2.close();
    }
    
}
TestDemo

      Output:    c4 e3 ba c3 68 65 6c 6c 6f
              你好hello                          

 

  

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved