Java-programmer kan læse eksterne data fra kilder såsom tekstfiler. Brug af scanneren klassen sammen med andre Java-sproget værktøjer, kan dine programmer angive en fil til at læse data fra , så læs den én linje ad gangen . Når du har hver linje i dit program , kan du bestemme oplysninger om dets indhold , som kan indeholde både bogstaver og tal . Ved at tage String variabel som følge af en " nextLine " metode opkald og parsing det som et heltal, kan dit program hente numeriske data fra filen. Instruktioner
1
Importer de krævede input klasser for dit program. På toppen af din Java class -fil , skal du tilføje følgende import udsagn : Hej
import java.io. * , import java.util.Scanner ,
Inde din klasse, skabe " try" og "fange" blokke som følger:
try { //proces fil læsning } catch ( IOException OIE ) { System.out.println ( ioe.getMessage ()); }
Place din kode til at læse filen inde i try sektion. Hvis du programmerer i et integreret udviklingsmiljø , kan det udsende fejlmeddelelser, når du indtaster denne kode, men de vil forsvinde , når du indtaster den fil læsning koden.
2
Opret " Scanner " og " ; FileReader objekter til at læse din fil . Indtast følgende kode inde i try-blok : Hej
FileReader fileRead = new FileReader ( " mydata.txt ") Scanner fileScan = new Scanner ( fileRead )
Scanner objekt tager en FileReader som en parameter til dens constructor metode , med det FileReader objekt tager navnet og placeringen af filen at læse. Hvis du forsøger at indtaste denne kode uden en try-blok , vil din IDE output fejlmeddelelser. Dette er fordi alle input operation kan være udsat for fejl , hvis filen ikke kan findes eller læses fra . Java-programmer kræver, at du vedlægge en sådan behandling inde prøv blokke, så de kan håndtere disse fejl.
3
Tilføj ", mens " loop til koden inde prøve blokken til at læse linjer i filen i en iterativ struktur :
while ( fileScan.hasNext ( )) { //læs linier }
Denne løkke vil kun køre , hvis filen stadig har data for Scanner til læse , så det vil fortsætte indtil alle data er blevet læst . Inde i løkken , kan din scanner læse hver linje i filen én ad gangen .
4
Brug Scanner til at læse en linje fra din fil. Føj følgende kode inde i while-løkken : Hej
String theLine = fileScan.nextLine ();
Scanner tilbyder en række metoder til at læse fra filen , herunder " nextLine ", der lyder en hel linje af teksten. Når denne linje henretter , String variabel har en kopi af linjen læses fra filen.
5.
Parse din linje som et heltal . Føj følgende kode inde i din while-løkke : Hej
int theInt = Integer.parseInt ( theLine )
Denne kode forsøger at parse hele linjen som et heltal . Hvis processen er en succes, vil den primitive typen integer variabel gemme nummeret til videre forarbejdning. Hvis linjerne i filen indeholder mere end én heltal hver, bliver du nødt til at opdele hver linje , før du ringer på " parseInt "-metoden.