Java-programmer kan lese eksterne data fra kilder som tekstfiler . Bruke skanneren klassen sammen med andre Java-språket verktøyene, kan programmene angi en fil for å lese data fra , så les det en linje av gangen . Når du har hver linje i programmet , kan du finne ut informasjon om innholdet, som kan inneholde både bokstaver og tall. Ved å ta String variabel som følge av en " bytte ut denne " metoden samtale og analysering det som et heltall , kan programmet hente numeriske data fra filen. Instruksjoner
en
Importer de nødvendige innspill klasser for programmet. På toppen av Java klasse fil, legge til følgende import utsagn : en
import java.io. * ; import java.util.scanner ;
Inne klassen din , lage " prøve" og " fange" blokker som følger:
try { //prosess fil lesing } catch ( IOException IOE ) { System.out.println ( ioe.getMessage ( )); }
Place koden for å lese filen inne i forsøk delen. Hvis du programmerer i et integrert utviklingsmiljø, kan det sende ut feilmeldinger når du skriver inn denne koden , men de vil forsvinne når du går inn i filen lesing koden .
2
Create " skanner" og " ; FileReader objekter for å lese filen . Skriv inn følgende kode inne i try -blokk : en
FileReader FILEREAD = new FileReader ( " mydata.txt "); Scanner FileScan = new Scanner ( FILEREAD ) ;
Scanner objektet tar en FileReader som en parameter til sin konstruktør-metoden , med FileReader objektet tar navnet og plasseringen til filen som skal leses. Hvis du prøver å skrive inn denne koden uten en prøve blokk, vil din IDE sende feilmeldinger. Dette er fordi noen innspill operasjon kan være utsatt for feil , hvis filen ikke kan finnes eller leses fra . Java- programmer krever at du legger ved slik behandling inne prøve blokkene slik at de kan takle disse feilene.
3
Legg til en "mens " loop til koden inne i prøve blokken til å lese linjene i filen i en iterativ struktur :
while ( fileScan.hasNext ( ) ) { //lese linjer }
Denne sløyfen vil bare kjøre hvis filen fortsatt har data for Scanner til lese, så det vil fortsette til alle dataene er lest . Inne i loop, kan din Scanner lese hver linje i filen en om gangen .
4
bruke skanneren til å lese en linje fra filen . Legg til følgende kode i mens loop : en
String theLine = fileScan.nextLine ();
Scanner gir en rekke metoder for å lese fra filen , inkludert " bytte ut denne " som leser en hel linje med tekst . Når denne linjen utfører , har String variabel en kopi av linjen leses fra filen.
5
Analyser din linje som et heltall . Legg til følgende kode inni mens loop : en
int theInt = Integer.parseInt ( theLine ) ;
Denne koden forsøker å analysere hele linjen som et heltall . Hvis prosessen er vellykket, vil den primitive typen heltallsvariabel lagre nummeret for videre behandling. Hvis linjene i filen inneholder mer enn ett heltall hver, må du splitte hver linje før du ringer " parseInt " metoden.