Il linguaggio Java fornisce una serie di funzioni standard per l' input e l'output . Si può facilmente fare uso di queste funzioni all'interno dei programmi , che consente di elaborare l'input da fonti esterne , come ad esempio i file . Utilizzando le classi di flusso di input in Java , i programmi possono leggere i dati da una posizione specificata . La classe InputStream in sé è astratta , quindi non può essere istanziato , ma è possibile utilizzare una qualsiasi delle sue sottoclassi , come ad esempio la classe FileInputStream . È possibile leggere dati in vari modi, come un singolo byte alla volta , per ogni personaggio incontrato all'interno della risorsa esterna . Istruzioni
1
Crea un oggetto Stream di ingresso nel programma. Inserisci il seguente codice Java , la creazione di una nuova istanza della classe FileInputStream e passandogli il percorso del file che si ha intenzione di leggere come parametro :
FileInputStream myInputStream = new FileInputStream ( " inputtext.txt " ) ;
alterare il parametro " inputtext.txt " per soddisfare la risorsa che si sta utilizzando , sia con un URL relativo o assoluto . In questo caso , il riferimento relativo è un file di testo nella stessa directory del codice dell'applicazione.
2
Aggiungi un blocco try al codice. Se si sta programmando in un ambiente di sviluppo integrato o IDE , si nota che un errore è stato messo in evidenza perché il codice non è contenuto all'interno di un blocco try. Questo è nel caso in cui la risorsa che si sta cercando di leggere da non può essere trovato o accedere . Modificare il codice come segue , l'aggiunta di un blocco try e un blocco catch per dire al programma cosa fare se c'è un problema di accesso al file , nel qual caso viene generata un'eccezione .
Try {
< p > //crea un flusso di input
FileInputStream myInputStream = new FileInputStream ( " inputtext.txt " ) ;
//ulteriore lavorazione qui
}
< p > catch ( Exception e) { System.out.println ( e.getMessage ( ) );}
Questo ferma il vostro programma di schiantarsi se il file non viene trovato
3 .
letta dal flusso di input . Aggiungere la seguente riga di codice all'interno del blocco try , dopo la linea di creazione dell'oggetto Stream Input :
//leggere un carattere
int InputData = myInputStream.read ( ) ;
< p > Questo codice legge un singolo carattere dalla tua risorsa di ingresso come numero intero. Il codice può quindi eseguire il trattamento necessario a quel personaggio . Al momento, tutto quello che hai fatto è leggere il primo carattere nel file , quindi è necessario impostare il programma fino a continuare .
4
loop per il resto della vostra risorsa di input . Aggiungere il codice seguente , ancora all'interno del blocco try , dopo la linea di lettura del primo carattere dal file :
mentre ( InputData = -1 ) {
//output dei dati letti da un personaggio
System.out.print ( ( char) InputData ) ;
//leggere il carattere successivo
InputData = myInputStream.read ( ) ;
< p > }
Questo ciclo while continua finché l'oggetto stream Input incontra il carattere che indica che è stata raggiunta la fine del file . Questo esempio scrive semplicemente i dati letti nella console di output standard , ma è possibile svolgere gli altri compiti qui come il progetto richiede .
5
Salvare il programma e compilarlo ed eseguirlo per testarlo. Si dovrebbe vedere il contenuto del file scritto nella console o un messaggio di errore se il file non è stato trovato o letto da . Esperimento alterando il codice all'interno del ciclo while per eseguire diversi tipi di elaborazione sui dati in cui si sta leggendo.