「Java17」InputStreamReaderでファイルから1文字ずつ読み込む

環境
JDK17.0.4 2022-07-19
Eclipse 2022-06
Windows11 pro 64bit

構文
public int read()  throws IOException
単一の文字を読み込みます。
オーバーライド:
read、クラス: Reader
戻り値:
読み込まれた文字。ストリームの終わりに達した場合は -1

条件
ファイル名 text.txt
ファイルの内容が下記文字です
ABCDEF

使用例

package com.arkgame.study;

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

public class ArkgamecomDemo {

      //ファイル名の変数の宣言
      private static final String FILENAME = "C:\\study\\java\\test.txt";

      //文字コード指定
      private static final String CHARSET = "UTF-8";

      public static void main(String[] args) throws IOException {

            // try with resources
            try (InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream(FILENAME), CHARSET)) {
                  int resbyte;

                  while ((resbyte = inputStreamReader.read()) != -1) {
                        System.out.print("バイト");
                        System.out.print(resbyte);
                        System.out.print(" 文字");
                        //バイトデータをchar型に変換します
                        System.out.print((char) resbyte);
                        System.out.print("\n");

                  }
            }

      }

}

実行結果

バイト65 文字A
バイト66 文字B
バイト67 文字C
バイト68 文字D
バイト69 文字E
バイト70 文字F

 

Java

Posted by arkgame