Java-program kan läsa externa data från källor såsom textfiler . Använda skannern klassen tillsammans med andra Java Utilities , kan dina program ange en fil för att läsa data från , sedan läsa den en rad i taget . När du har varje rad i ditt program , kan du bestämma information om dess innehåll , som kan innehålla både bokstäver och siffror . Genom att ta String variabel följd av ett " nextLine " metodanrop och tolka det som ett heltal , kan ditt program hämta numeriska data från filen . Instruktioner
1
Importera begärd ingående klasser för ditt program . På toppen av din Java-klass -fil , lägg till följande import uttalanden :
import java.io. * , import java.util.Scanner ;
Inuti din klass , skapar " prova " och " fånga " block enligt följande :
try { //process fil läsning } catch ( IOException OIE ) { System.out.println ( ioe.getMessage ( ) ) ; }
Place din kod för att läsa filen inuti try avsnittet . Om du programmerar i en integrerad utvecklingsmiljö , kan den mata ut felmeddelanden när du anger denna kod , men de försvinner när du anger koden filen läsning.
2
Skapa " Scanner " och " , FileReader objekt att läsa din fil . Skriv följande kod i try-blocket :
FileReader fileRead = ny FileReader ( " mydata.txt " ) , Scanner FileScan = new Scanner ( fileRead ) ,
Scanner objektet tar en FileReader som en parameter till dess konstruktor metoden , med FileReader objektet tar namn och plats för filen för att läsa . Om du försöker ange den koden utan en try-blocket , kommer din IDE mata felmeddelanden . Detta beror på att någon ingång operation kan vara risk för fel , om filen inte kan hittas eller läsa från . Java-program kräver att du bifoga en sådan behandling inne prova block så att de kan klara av med dessa fel .
3
Lägg en " tag " slinga för att koden inuti försöker blocket att läsa rader i filen i en iterativ struktur :
( fileScan.hasNext ( ) ) { //läs linjer }
Denna slinga endast kommer att köra om filen fortfarande har data för Scanner för att läsa , så det kommer att fortsätta tills alla data har lästs . Inne i slingan , kan skannern läser varje rad i filen en i taget .
4
Använd Scanner för att läsa en rad från filen . Lägg till följande kod i while-slingan :
String theLine = fileScan.nextLine ( ) ;
Scanner ger en rad metoder för att läsa från filen , inklusive " nextLine " som läser en hel textrad. När denna linje körs , har strängvariabeln en kopia av raden läses från filen .
5
Analysera din linje som ett heltal . Lägg till följande kod i din while loop :
int theInt = Integer.parseInt ( theLine ) ;
koden försöker tolka hela linjen som ett heltal . Om processen är framgångsrik, kommer den primitiva typen integer variabel lagra numret för vidare bearbetning . Om raderna i filen innehåller mer än en heltal vardera , måste du dela upp varje rad innan du ringer " parseInt " metoden .