Java tilbyder en række klasser, du kan bruge inden for dine programmer , når du har brug for at læse eksterne data. Scanner klassen giver dig mulighed for at læse input fra filer , herunder talværdier. Ved hjælp af denne klasse i forbindelse med sløjfer , kan dine Java-programmer læse flere elementer af data. Scanner klassen kan læse enkelte numre , herunder dobbelt præcision , flydende punkt , korte og heltal typer . Du kan derfor vælge en metode , der passer til dine data , hvilket placerer din kode i en løkke , så det kan læses flere numre , når programmet udfører . Instruktioner
1
Importer Java input og output ressourcer, du har brug for at læse dine eksterne data. Tilføje følgende import udsagn i toppen af din klasse erklæring : Hej
//input output libraryimport java.io. * ;//scanner classimport java.util.Scanner ,
Disse ressourcer giver din program alt, hvad den har brug for at behandle og håndtere input fra eksterne kilder såsom tekstfiler.
2
Opret " prøve " og "fange" blokke til dit nummer læsning operation. Når du bruger input og output ressourcer i Java , er du nødt til at forberede eventuelle fejl , der kan opstå , hvis dine eksterne data ikke kan læses . Føj følgende kode til dit program : Hej
try { //tal læsning her } catch ( catch ( IOException numReadExc ) { System.out.println ( " Undtagelse: " + numReadExc.getMessage ()); }
Når din kode kører, udførelse straks flytte til catch-blok , hvis noget går galt med input operation. Du kan placere din fil læsning kode inde i try-blok .
3
instantiere inputobjekter nødvendige for dit nummer læseprocessen Føj følgende kode inde i din try-blok , erklære og instantiere et objekt af FileReader typen : .
FileReader numFileReader = new FileReader ( " datafile.txt " ;)
Alter parameteren til constructor metode til at matche navnet og placeringen af datafilen forhold til dit program Føj følgende kode , hvilket skaber et objekt af BufferedReader klasse : Hej
. BufferedReader numBuffer = new BufferedReader ( numFileReader )
Denne klasse tager en instans af FileReader klasse som en parameter Føj følgende kode , erklære og instantiere en scanner objekt : Hej
Scanner numScan = nyt . Scanner ( numBuffer )
Scanner konstruktør tager en BufferedReader som en parameter
4
Opret en løkke for dit nummer læsning procedure Inde try-blok , efter at dit objekt instantiering kode. . , tilføjes følgende loop skitse : Hej
while ( numScan.hasNext () ) {//læse tal her }
Denne løkke vil kun fortsætte med at udføre , mens din fil stadig har data til at læse. Inde i løkken , kan du tilføje koden instruere Scanner til læse tal fra den eksterne kilde. Når din kode færdig med at læse alt i filen, vil løkken stopper udførelse .
5.
Læs numrene fra . fil Du er nødt til at vælge den rigtige Scanner metoden til dit nummer typer følgende eksempelkode vil læse heltal inde i løkken : .
int currInt = numScan.nextInt ();
p Du kan vælge fra metoder til at læse dobbelt, float , lange, korte , BigInteger og BigDecimal tal Du kan foretage enhver behandling behov for dine tal i løkken Efter loop, din Scanner tæt som følger: . .
numScan.close ();
Gem filen og køre dit program for at teste det
.