산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

자바 InputStreamReader 클래스

자바 InputStreamReader 클래스

이 자습서에서는 예제를 통해 Java InputStreamReader 및 해당 메서드에 대해 알아봅니다.

InputStreamReader java.io 클래스 패키지를 사용하여 바이트 데이터를 문자 데이터로 변환할 수 있습니다.

추상 클래스 Reader을 확장합니다. .

InputStreamReader 클래스는 다른 입력 스트림과 함께 작동합니다. 바이트 스트림과 문자 스트림 간의 브리지라고도 합니다. InputStreamReader 때문입니다. 입력 스트림에서 바이트를 문자로 읽습니다.

예를 들어, 일부 문자는 저장소에 저장하기 위해 2바이트가 필요했습니다. 이러한 데이터를 읽기 위해 2바이트를 함께 읽고 해당 문자로 변환하는 입력 스트림 판독기를 사용할 수 있습니다.

<시간>

InputStreamReader 만들기

InputStreamReader을 생성하려면 , java.io.InputStreamReader을 가져와야 합니다. 먼저 패키지. 여기에서 패키지를 가져오면 입력 스트림 리더를 만드는 방법이 나와 있습니다.

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

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

위의 예에서는 InputStreamReader을 생성했습니다. 명명된 입력 FileInputStream과 함께 명명된 파일 .

여기에서 파일의 데이터는 일부 기본 문자 인코딩을 사용하여 저장됩니다.

그러나 문자 인코딩 유형(UTF8 또는 UTF16 ) 파일에도 있습니다.

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

여기서는 Charset을 사용했습니다. 파일의 문자 인코딩을 지정하는 클래스입니다.

<시간>

InputStreamReader의 메소드

InputStreamReader 클래스는 Reader에 있는 다양한 메서드에 대한 구현을 제공합니다. 수업.

read() 메소드

예를 들어 input.txt라는 파일이 있다고 가정해 보겠습니다. 다음 내용으로.

This is a line of text inside the file.

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();
    }
  }
}

출력

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

위의 예에서는 파일 입력 스트림을 사용하여 입력 스트림 판독기를 만들었습니다. 입력 스트림 리더는 input.txt 파일과 연결됩니다. .

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

파일에서 문자를 읽기 위해 read()를 사용했습니다. 방법.

<시간>

getEncoding() 메소드

getEncoding() 메소드를 사용하여 입력 스트림에 데이터를 저장하는 데 사용되는 인코딩 유형을 가져올 수 있습니다. 예를 들어,

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();
    }
  }
}

출력

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

위의 예에서 input1이라는 2개의 입력 스트림 리더를 만들었습니다. 및 입력2 .

참고 :Charset.forName()을 사용했습니다. 문자 인코딩 유형을 지정하는 방법입니다. 자세한 내용은 Java Charset(공식 Java 설명서)을 참조하십시오.

<시간>

close() 메소드

입력 스트림 리더를 닫으려면 close()을 사용할 수 있습니다. 방법. close() 메소드가 호출되면 리더를 사용하여 데이터를 읽을 수 없습니다.

<시간>

InputStreamReader의 다른 방법

메소드 설명
ready() 스트림을 읽을 준비가 되었는지 확인
mark() 스트림에서 데이터를 읽은 위치 표시
reset() 표시가 설정된 스트림의 지점으로 컨트롤을 반환합니다.

자세한 내용은 Java InputStreamReader(공식 Java 설명서)를 참조하십시오.


java

  1. 자바 최종 키워드
  2. 자바 instanceof 연산자
  3. 자바 중첩 정적 클래스
  4. 자바 익명 클래스
  5. 자바 싱글톤 클래스
  6. 자바 리플렉션
  7. 자바 ObjectOutputStream 클래스
  8. 자바 스캐너 클래스
  9. 자바 제네릭
  10. 자바 파일 클래스