Nwlapcug.com


Come leggere da un flusso di Input in Java

Come leggere da un flusso di Input in Java


Il linguaggio Java fornisce una gamma di funzioni standard per input e output. Si può facilmente fare uso di queste funzioni all'interno dei vostri programmi, consente di elaborare l'input da risorse esterne, quali file. Utilizzando le classi del flusso di Input in Java, i programmi possono leggere dati da una posizione specificata. La classe InputStream è astratta, quindi non può essere creata un'istanza, ma è possibile utilizzare qualsiasi delle sue sottoclassi, ad esempio la classe FileInputStream. È possibile leggere dati in vari modi, ad esempio un singolo byte alla volta, per ogni carattere rilevato entro la risorsa esterna.

Istruzioni

1

Creare un oggetto Stream di Input nel programma. Immettere il seguente codice di Java, creando una nuova istanza della classe FileInputStream e passandogli il percorso del file hai intenzione di lettura come parametro:

FileInputStream myInputStream = nuovo FileInputStream("inputtext.txt");

Modificare il parametro "inputtext.txt" per soddisfare la risorsa che utilizzi, con un URL relativo o assoluto. In questo caso, il riferimento relativo è in un file di testo nella stessa directory come il codice dell'applicazione.

2

Aggiungere un blocco try il codice. Se si sta programmando in un ambiente di sviluppo integrato, o IDE, si noterà che è stato evidenziato un errore perché il codice non è contenuto all'interno di un blocco try. Questo è nel caso in cui la risorsa che si sta tentando di leggere da non può essere trovata o letta. Modificare il codice come indicato di seguito, l'aggiunta di un blocco try e un blocco catch per dire al programma cosa fare se c'è un problema di accesso il file, nel qual caso genera un'eccezione.

try {

creare un flusso di Input

FileInputStream myInputStream = nuovo FileInputStream("inputtext.txt");

ulteriore elaborazione qui

}

catch(Exception e) {System.out.println(e.getMessage())};

Questo interrompe il programma dallo schianto se il file non viene trovato.

3

Leggere dal flusso di input. Aggiungere la seguente riga di codice all'interno del blocco try, dopo la creazione dell'oggetto flusso di Input di riga:

leggere un carattere

int inputData = myInputStream.read();

Questo codice legge un singolo carattere da tua risorsa di input come valore integer. Il codice può eseguire qualsiasi elaborazione necessaria su quel personaggio. Al momento, tutto quello che hanno fatto è leggere il primo carattere nel file, quindi è necessario impostare il programma per continuare.

4

Scorrere il resto della tua risorsa di input. Aggiungere il codice seguente, ancora all'interno del blocco try, dopo la riga il primo carattere di lettura dal file:

mentre (inputData! = -1) {

i dati letti come un carattere di output

System.out.Print((Char)inputData);

leggere il carattere successivo

inputData = myInputStream.read();

}

Questo ciclo while continua fino a quando l'oggetto Stream di Input viene rilevato il carattere che indica che è stata raggiunta la fine del file. In questo esempio scrive semplicemente i dati letti nella console di output standard, ma è possibile eseguire altre attività qui come il progetto richiede.

5

Salvare il programma e compilare ed eseguirlo per testarlo. Si dovrebbe vedere il contenuto del file scritto in console o un messaggio di errore se il file non è stato trovato o leggere da. Esperimento alterando il codice all'interno di while ciclo per eseguire diversi tipi di elaborazione sui dati in cui si sta leggendo.

Consigli & Avvertenze

  • Un'occhiata a diversi tipi di flussi di input che Java fornisce guardando la pagina Java Platform Standard ed. 6 classe InputStream online nella sezione diretta noto sottoclassi.
  • Mai dare per scontato che non ci sarà una lettura del problema da una risorsa esterna, come questa è sempre una possibilità.