Java erbjuder en rad standardfunktioner för input och output . Du kan enkelt använda dessa funktioner i dina program , så att du kan bearbeta input från externa resurser , t.ex. filer . Använda klasserna indataströmmen i Java , kan dina program läser data från en angiven plats . Den InputStream klassen själv är abstrakt , så det kan inte instansieras , men du kan använda någon av dess underklasser , såsom FileInputStream klassen . Du kan läsa data på olika sätt , såsom en enda byte i taget, för varje tecken påträffas inom den externa resursen . Instruktioner
1
Skapa ett objekt Input ström i ditt program . Ange följande Java-kod , skapa en ny instans av FileInputStream klassen och skicka den till platsen för den fil du planerar på att läsa som en parameter :
FileInputStream myInputStream = ny FileInputStream ( " inputtext.txt " ) ;
Ändra parametern " inputtext.txt " för att passa den resurs som du använder , med antingen en relativ eller absolut URL . I detta fall är den relativa referensen till en textfil i samma katalog som programmets kod .
2
Lägg ett try-block i koden . Om du programmerar i en integrerad utvecklingsmiljö , eller IDE , märker du att ett fel har uppmärksammats eftersom koden inte är innesluten i ett try-block . Detta är i fall den resurs du försöker läsa från inte kan hittas eller hämtas . Ändra din kod enligt följande , lägga ett try-block och ett catch-block för att tala om för programmet vad som ska göras om det finns ett problem att komma åt filen , i vilket fall ett undantag kastas .
Try {
//skapa en ingång Stream
FileInputStream myInputStream = ny FileInputStream ( " inputtext.txt " ) ;
//vidareförädling här
}
catch ( Exception e ) { System.out.println ( e.getMessage ( ) ) ; }
Detta hindrar programmet från att krascha om filen inte hittas
3 .
Läs från din input stream . Lägg till följande kodrad i try-blocket , efter raden skapar objektet Input ström :
//läs ett tecken
int inputData = myInputStream.read ( ) ;
Denna kod läser en enda karaktär från din input resurs som ett heltal . Din kod kan då genomföra all behandling som krävs på det tecknet . Just nu , är allt du har gjort läst det första tecknet i filen , så du behöver för att ställa in programmet upp för att fortsätta .
4
Loop genom resten av din input resurs . Lägg till följande kod , fortfarande inom try-blocket , efter raden läst det första tecknet från filen :
samtidigt ( inputData = -1 ) {
//output data läses som ett tecken
System.out.print ( ( char ) inputData ) ;
//läsa nästa tecken
inputData = myInputStream.read ( ) ;
}
medan slinga fortsätter tills Input Stream objektet möter tecknet som indikerar slutet av filen har nåtts . Detta exempel skriver helt enkelt data läses ut till standard ut konsolen , men du kan utföra andra uppgifter här som ditt projekt kräver .
5
Spara ditt program , och kompilera och köra den för att testa den . Du bör se innehållet i filen skrivs ut till konsollen eller ett felmeddelande om att filen inte kunde hittas eller läsa från . Experimentera genom att ändra koden i while-slinga för att utföra olika typer av behandling för de uppgifter som du läser .