Java erbjuder en rad klasser för input -och output . Med Scanner klassen , kan Java-program läsa och bearbeta innehållet på externa filer . Program behöver importera vissa bibliotek att utnyttja den funktionalitet som tillhandahålls av Scanner klassen . Dessa bibliotek ger program med möjlighet att initiera en grupp objekt kan behandla inmatningsoperationer . När dessa set - up arbetsuppgifter utför , kan programmet läsa filen innehåll. Resurser
att utnyttja Scanner klassen , måste ett Java -program importera två uppsättningar av språkliga bibliotek . Program kan innehålla följande import-satserna i toppen av klassen förklaring i vilken den ingående behandlingen kommer att ske : importera java.io. * , import java.util.Scanner ;
Bortsett från Scanner klassen själv, program behöver tillgång till andra insatsvaror klasser för att hantera användningen av externa data . Om ett program försöker använda Scanner klassen utan här import-satserna kommer kompilatorn varna programmeraren till fel .
Objekt
Javaprogram skapa en uppsättning av indata objekt att utföra scanningar . I följande exempelkod visas hur du skapar en FileReader objekt , levererar plats och namn för den externa fil som ska genomsökas : FileReader read = ny FileReader ( " mydata.txt " ) ;
parameter till FileReader konstruktormetoden måste återspegla platsen för datafilen , liksom dess namn och förlängning . I följande kod visas passerar FileReader instans objektet till konstruktorn metoden för BufferedReader klassen : BufferedReader buff = ny BufferedReader ( läs) ,
Scanner klassen kan då ta detta objekt instans som parameter till en egen konstruktormetod , enligt följande : Scanner scan = new Scanner ( buff ) ,
programmet har nu möjlighet att skanna en indatafil
Försiktighetsåtgärder
< . p > Om programmerare som använder en integrerad försök utvecklingsmiljö för att instansiera klasser file input kommer IDE visa varningar eftersom koden inte är skyddad från inmatningsfel . För att undvika dessa kompileringsfel och skydda programmet mot input undantag , kan programmeraren inkludera koden objektet Instantieringsinformation inuti en try-block , enligt följande : try { //exemplifiering kod här }
En catch-blocket kan följa den här koden , specificera vad programmet ska göra om en ingång undantag uppstår , enligt följande : catch ( catch ( IOException ioExc ) { System.out.println ( ioExc.getMessage ( ) ) ; }
All scanning koden kan köra inne i try-blocket .
Input process
skanningen i Java i allmänhet innebär en while-slinga . Detta gör att programmet kan iterera igenom innehållet i filen , bearbetning . den i bitar följande kod visar konturerna av en while-slinga för denna process : while ( scan.hasNext ( ) ) { //skanning här }
Inuti while-slingan , kan programmet skanna innehållet i filen med hjälp av olika metoder i klassen följande kod visar skanning filen i byte : . . byte thisByte = scan.nextByte ( ) ;
Denna kod kan köras inuti while-slinga , följande kod placeras efter while-slingan , stänger Scanner objektet när skanningen är klar : scan.close ( ) ;