Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Kelas Java InputStreamReader

Kelas InputStreamReader Java

Dalam tutorial ini, kita akan belajar tentang Java InputStreamReader dan metodenya dengan bantuan contoh.

InputStreamReader kelas java.io package dapat digunakan untuk mengubah data dalam byte menjadi data dalam karakter.

Ini memperluas kelas abstrak Reader .

InputStreamReader kelas bekerja dengan aliran input lainnya. Ini juga dikenal sebagai jembatan antara aliran byte dan aliran karakter. Ini karena InputStreamReader membaca byte dari aliran input sebagai karakter.

Misalnya, beberapa karakter membutuhkan 2 byte untuk disimpan di penyimpanan. Untuk membaca data tersebut, kita dapat menggunakan pembaca aliran input yang membaca 2 byte secara bersamaan dan mengubahnya menjadi karakter yang sesuai.


Buat InputStreamReader

Untuk membuat InputStreamReader , kita harus mengimpor java.io.InputStreamReader paket dulu. Setelah kami mengimpor paket, inilah cara kami membuat pembaca aliran input.

// Creates an InputStream
FileInputStream file = new FileInputStream(String path);

// Creates an InputStreamReader
InputStreamReader input = new InputStreamReader(file);

Pada contoh di atas, kita telah membuat InputStreamReader bernama input bersama dengan FileInputStream bernama file .

Di sini, data dalam file disimpan menggunakan beberapa pengkodean karakter default.

Namun, kita dapat menentukan jenis pengkodean karakter (UTF8 atau UTF16 ) dalam file juga.

// Creates an InputStreamReader specifying the character encoding
InputStreamReader input = new InputStreamReader(file, Charset cs);

Di sini, kami telah menggunakan Charset class untuk menentukan pengkodean karakter dalam file.


Metode InputStreamReader

InputStreamReader class menyediakan implementasi untuk berbagai metode yang ada di Reader kelas.

read() Metode

Misalnya, kita memiliki file bernama input.txt dengan konten berikut.

This is a line of text inside the file.

Mari kita coba membaca file ini menggunakan InputStreamReader .

import java.io.InputStreamReader;
import java.io.FileInputStream;

class Main {
  public static void main(String[] args) {

    // Creates an array of character
    char[] array = new char[100];

    try {
      // Creates a FileInputStream
      FileInputStream file = new FileInputStream("input.txt");

      // Creates an InputStreamReader
      InputStreamReader input = new InputStreamReader(file);

      // Reads characters from the file
      input.read(array);
      System.out.println("Data in the stream:");
      System.out.println(array);

      // Closes the reader
      input.close();
    }

    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Keluaran

Data in the stream:
This is a line of text inside the file.

Dalam contoh di atas, kami telah membuat pembaca aliran input menggunakan aliran input file. Pembaca aliran input ditautkan dengan file input.txt .

 FileInputStream file = new FileInputStream("input.txt");
 InputStreamReader input = new InputStreamReader(file);

Untuk membaca karakter dari file, kami telah menggunakan read() metode.


Metode getEncoding()

getEncoding() metode dapat digunakan untuk mendapatkan jenis pengkodean yang digunakan untuk menyimpan data dalam aliran input. Misalnya,

import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.io.FileInputStream;

class Main {
  public static void main(String[] args) {

    try {
      // Creates a FileInputStream
      FileInputStream file = new FileInputStream("input.txt");

      // Creates an InputStreamReader with default encoding
      InputStreamReader input1 = new InputStreamReader(file);

      // Creates an InputStreamReader specifying the encoding
      InputStreamReader input2 = new InputStreamReader(file, Charset.forName("UTF8"));

      // Returns the character encoding of the input stream
      System.out.println("Character encoding of input1: " + input1.getEncoding());
      System.out.println("Character encoding of input2: " + input2.getEncoding());

      // Closes the reader
      input1.close();
      input2.close();
    }

    catch(Exception e) {
      e.getStackTrace();
    }
  }
}

Keluaran

The character encoding of input1: Cp1252
The character encoding of input2: UTF8

Pada contoh di atas, kami telah membuat 2 pembaca aliran input bernama input1 dan input2 .

Catatan :Kami telah menggunakan Charset.forName() metode untuk menentukan jenis pengkodean karakter. Untuk mempelajari lebih lanjut, kunjungi Java Charset (dokumentasi resmi Java).


close() Metode

Untuk menutup pembaca aliran input, kita dapat menggunakan close() metode. Setelah close() dipanggil, kita tidak dapat menggunakan pembaca untuk membaca data.


Metode InputStreamReader Lainnya

Metode Deskripsi
ready() memeriksa apakah streaming siap dibaca
mark() menandai posisi dalam aliran hingga data yang telah dibaca
reset() mengembalikan kontrol ke titik di aliran tempat tanda ditetapkan

Untuk mempelajari lebih lanjut, kunjungi Java InputStreamReader (dokumentasi resmi Java).


java

  1. Kata kunci terakhir Java
  2. Instance Java dari Operator
  3. Kelas Statis Bersarang Java
  4. Kelas Anonim Java
  5. Kelas Tunggal Jawa
  6. Refleksi Jawa
  7. Kelas Java ObjectOutputStream
  8. Kelas Pemindai Java
  9. Java Generik
  10. Kelas File Java