-4

このFileReaderクラスは、キャラクターの I/O を実行するために使用されます。

ディレクトリに配置され、FileReader コンストラクターで引数として渡されたファイルを読み取ろうとしました。ファイルには、abcd.

FileReaderwithメソッドから読み取ろうとするとread、ASCII で値が返されますが、FileReader文字には使用されます。なぜこれが起こるのですか?unicde の概念が採用されている場合、ファイルから文字を読み取るときに、文字に変換する必要があります。しかし、これは起こりません。

ファイル「xyz.txt」のデータは「abcd」です。

コード:

File h=new File("d:/xyz.txt");
FileReader j=new FileReader(l);
for(int i=0;i<h.length;i++)
{
  System.out.println(j.read());
}

「abcd」を印刷したい。代わりに ASCII 値を出力します。なぜですか?

4

1 に答える 1

4

の契約Readerはそうすべきだと言っているからです。read(char[] buf)文字を直接読み取るために使用できます。

于 2012-05-23T12:00:55.533 に答える