国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java知識點總結(JavaIO-字節流)

BigTomato / 832人閱讀

摘要:知識點總結字節流知識點總結字節流在程序中所有的數據都是以流的方式進行傳輸或保存的,程序需要數據時要使用輸入流讀取數據,而當程序需要將一些數據保存起來時,就要使用輸出流。字節流主要操作類型數據,以數組為準,主要操作類是類和類。

Java知識點總結(JavaIO-字節流)

@(Java知識點總結)[Java, JavaIO]

[toc]

字節流

在程序中所有的數據都是以流的方式進行傳輸或保存的,程序需要數據時要使用輸入流讀取數據,而當程序需要將一些數據保存起來時,就要使用輸出流。

字節流主要操作byte類型數據,以byte數組為準,主要操作類是 OutputStream 類和 InputStream 類。

輸出寫入數據,輸入寫出數據

字節輸出流:OutputStream

是整個IO包字節輸出流的最大父類,定義如下:

public  abstract class OutputStream implements Closeable, Flushable

從定義可以發現:
OutputStream是一個抽象類,必須要通過子類實例化對象,才能使用。
可以使用子類FileOutputStream,向上轉型后,操作一個文件。

字節輸入流:InputStream

可以通過InputStream 從文件中把內容讀取出來。

  InputStream 類的定義如下:


public  abstract class InputStream extends Object implements Closeable

同OutputStream 類一樣,InputStream 本身也是一個抽象類,必須依靠其子類,如果從文件中讀取,使用子類FileInputStream。

import  java.io.File;
import  java.io.FileInputStream;
import  java.io.FileOutputStream;
import  java.io.IOException;
import  java.io.InputStream;
import  java.io.OutputStream;
 
public  class Demo03 {
 
  // 將字符串轉化為byte[]進行輸出
  public static void test1() throws IOException {
    File file = new File("E:" + File.separator + "test.txt");
    OutputStream fos = new FileOutputStream(file);
 
    String str = "Hello world!";
    byte[] b = str.getBytes(); // 只能使用byte數組,所以將字符串轉為byte數組
    fos.write(b);
    fos.close();
 
  }
 
  // 在文末追加新的內容,且一個字節一個字節的輸出
  public static void test2() throws IOException {
    File file = new File("E:" + File.separator + "test.txt");
    OutputStream fos = new FileOutputStream(file, true);
 
    String str = "
Hello world!";
    byte[] b = str.getBytes(); // 只能使用byte數組,所以將字符串轉為byte數組
    for (int i = 0; i < b.length; i++) {
      fos.write(b[i]);
    }
    fos.close();
  }
 
  // 讀取數據
  public static void test3() throws IOException {
    File file = new File("E:" + File.separator + "test.txt");
    InputStream fis = new FileInputStream(file);
 
    // byte[] b = new byte[1024]; //定義一個數組用來存放讀取的數據
    byte[] b = new byte[(int) file.length()]; // 根據文件的數據量,開辟指定大小的 byte 數組
 
    int len = fis.read(b); // 讀取內容到數組中
    fis.close();
    System.out.println("讀取數據的長度"  + len);
    // System.out.println("內容為:"+new String(b));
    System.out.println("內容為:"  + new String(b, 0, len)); // 把 byte 數組轉為字符串輸出
  }
 
  // 使用循環,一個字節一個字節讀取數據
  public static void test4() throws IOException {
    File file = new File("E:" + File.separator + "test.txt");
    InputStream fis = new FileInputStream(file);
 
    byte[] b = new byte[(int) file.length()];
    for (int i = 0; i < b.length; i++) {
      b[i] = (byte) fis.read();
    }
 
    fis.close();
    System.out.println("內容為:"  + new String(b));
  }
 
  // 如果不知道要輸入的內容有多大,則使用是否讀到文件末尾的方式來讀取文件
  public static void test5() throws IOException {
    File file = new File("E:" + File.separator + "test.txt");
    InputStream fis = new FileInputStream(file);
    
    int len = 0; //用于記錄讀取數據的個數
    byte[] b = new byte[1024];
    int temp = 0; //接收讀取的每一個內容
    
    while((temp = fis.read()) != -1){
      b[len] = (byte) temp;
      len ++;
    }
    
    fis.close();
    System.out.println("內容為:"  + new String(b,0,len));
  }
 
  public static void main(String[] args) {
    try {
       test1();
       test2();
       test5();
    } catch (IOException e) {
      e.printStackTrace();
    }
  }
}




文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69163.html

相關文章

  • Java識點總結JavaIO-符流)

    摘要:使用字節流寫入文件,如果沒有關閉字節流操作,文件依然存在內容,說明字節流是操作文件本身的。字節流比字符流更好,使用更廣泛。 Java知識點總結(JavaIO-字符流) @(Java知識點總結)[Java, JavaIO] [toc] 在程序中一個字符等于兩個字節,那么 Java 提供了 Reader 和 Writer 兩個專門操作字符流的類。 字符輸出流:Writer 類定義如下: p...

    thekingisalwaysluc 評論0 收藏0
  • Java識點總結JavaIO-轉換流)

    摘要:知識點總結轉換流知識點總結是的子類,將一個字符流的輸出對象變為字節流的輸出對象。將字節輸出流轉為字符輸出流字節流轉為字符流蘋果將字節輸入流轉為字符輸入流內容是 Java知識點總結(JavaIO-轉換流) @(Java知識點總結)[Java, JavaIO] [toc] showImg(https://segmentfault.com/img/bV82dQ?w=849&h=226); O...

    luckyyulin 評論0 收藏0
  • 從一段代碼談起——淺談JavaIO接口

    摘要:緩沖輸入流從被稱為緩沖區的存儲器區域讀出數據僅當緩沖區是空時,本地輸入才被調用。同樣,緩沖輸出流,將數據寫入到緩存區,只有當緩沖區已滿才調用本機輸出。 :https://segmentfault.com/blog... 1.前言 前陣子休息天日常在尋找項目里不好的代碼,看到了這樣的一段代碼: private Result sshSameExec(Session session,...

    pkwenda 評論0 收藏0
  • JavaIO

    摘要:是字節流通向字符流的橋梁它使用指定的讀取字節并將其解碼為字符。它使用的字符集可以由名稱指定或顯式給定,或者可以接受平臺默認的字符集。為了達到最高效率,可要考慮在內包裝。 JAVA緩沖區就是先讀一些數據在內存中間或者先寫一部分數據在內存中。比如寫,不是每次寫數據到磁盤, 而是先把數據寫到內存中,等到內存的緩沖區滿了再一次寫入磁盤,減少磁盤訪問。JAVA讀取大文需要使用radomAcces...

    Fundebug 評論0 收藏0
  • JavaIO : 不同情境使用的流

    摘要:我們在前面已經提到的幾種流就有它們的使用情境和和主要用于解決不限于純文本的二進制文件的輸入輸出情境。同時,如果使用帶有緩沖區的緩沖輸入輸出流的話會使得讀寫的效率更高,有助于更快地完成不限于純文本的二進制文件的讀寫。 不同情境的流: 流的種類很多,針對不同的IO數據交換情景我們可以選擇不同的流來完成任務。 我們在前面已經提到的幾種流就有它們的使用情境: 1. FileInputStrea...

    yintaolaowanzi 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<