Java språket gir et utvalg av standard funksjoner for inn-og utgang . Du kan enkelt gjøre bruk av disse funksjonene innenfor programmene dine , slik at du kan behandle innspill fra eksterne ressurser , for eksempel filer . Ved hjelp av input stream klasser i Java , kan programmene lese data fra et angitt sted. Den InputStream klassen selv er abstrakt , så det kan ikke startes , men du kan bruke noen av dens subklasser , slik som FileInputStream klassen . Du kan lese data på forskjellige måter , som for eksempel en enkelt byte om gangen, for hvert tegn som påtreffes inne i den ytre kilde . Instruksjoner
en
Lag en Input Stream objekt i programmet. Oppgi følgende Java-kode , og skaper en ny forekomst av FileInputStream klasse og passerer den plasseringen av filen du har tenkt på å lese som en parameter : en
FileInputStream myInputStream = new FileInputStream ( " inputtext.txt ");
Alter parameteren " inputtext.txt " som passer ressursen du bruker, med enten en relativ eller absolutt URL . I dette tilfellet er den relative referanser til en tekstfil i samme mappe som programmet koden .
2
Legg en prøve blokk til koden din . Hvis du programmerer i et integrert utviklingsmiljø, eller IDE , merker du at en feil har blitt fremhevet fordi koden ikke er inneholdt i et forsøk blokk . Dette er i tilfelle den ressursen du prøver å lese fra ikke blir funnet eller åpnes. Endre koden som følger , og legger en prøve blokk og en catch-blokken for å fortelle programmet hva du skal gjøre hvis det er et problem med å åpne filen , i så fall et unntak .
Try {
< p> //opprette en Input Stream
FileInputStream myInputStream = new FileInputStream ( " inputtext.txt ");
//videreforedling her
}
< p > catch ( Exception e ) { System.out.println ( e.getMessage ( )); }
p Dette stopper programmet fra å krasje hvis filen ikke blir funnet
tre .
Les fra input stream . Legg til følgende linje med kode inne i try -blokken, etter linjen skape Input Stream objekt : en
//lese et tegn
int inputData = myInputStream.read ();
< p> Denne koden leser et enkelt tegn fra dine innspill ressurs som et heltall . Koden kan deretter utføre enhver behandling er nødvendig på det tegnet. For øyeblikket er alt du har gjort lese det første tegnet i filen , så du må sette programmet opp til å fortsette .
4
Loop gjennom resten av dine innspill ressurs. Legg til følgende kode , fortsatt innenfor prøve blokken , etter linjen leser det første tegnet fra filen : en
while ( inputData = -1 ! ) {
//Output data leses som et tegn
System.out.print ( ( røye ) inputData ) ;
//lese neste tegn
inputData = myInputStream.read ();
< p> }
mens loop fortsetter til Input Stream objektet møter tegnet som indikerer slutten av filen er nådd. Dette eksemplet skriver rett og slett dataene leses ut til standard ut -konsollen, men du kan utføre andre oppgaver her som prosjektet krever .
5
Lagre programmet , og kompilere og kjøre den til å teste den. Du bør se innholdet i filen skrives ut til konsollen eller en feilmelding hvis filen ikke ble funnet eller leses fra . Eksperimenter ved å endre koden i mens loop til å utføre ulike typer behandling på dataene som du leser .