「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