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);
}
Hier in Zeile 2 sehen wir, dass ch-Array gerade die Gesamtzahl der Indizes einleitet. Und im gesamten Code sehen wir keine Zuordnung von Daten in seinen Speicherindizes. Aber wir finden auch, dass die For-each-Schleife Daten aus der Variablen ch extrahiert. Wie ist es möglich???Woher bezieht dieses Char-Array seine Daten?
Hinweis: Die abc.txt Datei enthält Zeichendaten
in Zeile 5 gibt es 'ch.length' Zeichen aus der' abc.txt' Datei gelesen und in den char-Array, wie es als Parameter 'fw.read geben wird()' –
„Und in den ganzen Code sehen wir keine Zuordnung von Daten in seinen Speicherindizes "===>' fw.read (ch); '<=== Da ist es. –
Beachten Sie, dass dies immer noch schrecklicher Code ist: 1) Es nimmt an, dass es ein einzelnes Byte pro Zeichen gibt. 2) Es wird angenommen, dass die Datei in der Systemstandardkodierung ist. 3) Es nimmt an, dass sich die Größe der Datei nicht ändert. 4) Es wird vorausgesetzt, dass ein einzelner Aufruf von 'read' die gesamten Daten liest. 5) Es schließt den Leser nicht. –