1.File file = new File("abc.txt");
2. char[] ch=new char[(int)file.length()];
3. System.out.println(file.length());
4. FileReader fw=new FileReader(file);
5. fw.read(ch);
6. for(char ch1: ch){
7. System.out.println(ch1);
}
ここで2行目では、ch配列がインデックスの総数を開始していることがわかります。また、コード全体では、メモリインデックスにデータが割り当てられていません。 しかし、For Eachループがch変数からデータを抽出していることもわかります。それはどのように可能ですか?このchar配列はどこからデータを取得しますか?
注:abc.txtファイル私は、コードを説明してもらおう文字データ
ライン5に 'ch.length'の文字' abc.txt'ファイルから読み込まれ、それがfw.read() ' –
「'し、中にパラメータとして渡されるようchar配列に入れがありますメモリインデックスにデータが割り当てられていないことを示すコード全体が "===>' fw.read(ch); '<===あります。 –
これはまだひどいコードであることに注意してください。1)1文字あたり1バイトがあると仮定します。 2)ファイルがシステムのデフォルトエンコーディングになっているものとみなします。 3)ファイルのサイズが変わらないと仮定します。 4)これは 'read'への単一の呼び出しがデータ全体を読むことを前提としています。 5)それは読者を閉じない。 –