Come tokenize file di input in Java

February 28

Come tokenize file di input in Java


Il linguaggio Java fornisce una gamma di scelte per la lettura e l'elaborazione di file di input. Utilizzando il "FileReader", "BufferedReader" e le classi dello scanner, si può leggere nel contenuto di un file esterno in singole linee. Una volta che avete ogni riga all'interno del programma, è possibile utilizzare i metodi della classe String per tokenize esso. Quando si tokenize una riga nel file, il programma in grado di memorizzare i token in array per ulteriori elaborazioni. Creazione di token file di input in Java è comune e utile.

istruzione

1 Importare le utilità Java per l'operazione di file di input. Il processo di ingresso utilizza alcune classi del linguaggio Java, in modo da aggiungere le seguenti istruzioni import nella parte superiore del file di classe Java:

import java.io. *;
import java.util.Scanner;

Ciò dà al vostro programma la possibilità di trovare il file, aprirlo come un flusso di input, di leggere nei contenuti, e poi elaborarli.

2 Creare istanze delle classi di ingresso si ha bisogno. Sarà necessario aggiungere try e catch blocchi per il programma, in quanto le operazioni di input e output possono generare eccezioni, causando il vostro programma di fallire; per esempio, se il file di input specificato non può essere individuato. Aggiungere il seguente codice al programma:

provare {
FileReader fr = new FileReader ( "testfile.txt");
BufferedReader br = new BufferedReader (fr);
scansione di Scanner = new Scanner (BR);
// Ulteriori elaborazioni qui
}
catch (IOException UIE) {System.out.println (ioe.getMessage ()); }

Questo codice crea istanze delle classi "FileReader", "BufferedReader" e "Scanner". Questi oggetti maniglia di apertura e la lettura da un file. Modificare la linea "FileReader" per riflettere il nome e la posizione del tuo file. Il blocco catch istruisce Java per emettere un messaggio standard se il programma genera un'eccezione.

3 Creare un ciclo nel programma di continuare l'esecuzione mentre il file ha un contenuto da leggere. Aggiungere il seguente codice all'interno del blocco try:

while (scan.hasNext ()) {
// Processo di ogni linea qui
}
scan.close ();

Questo prepara il programma per elaborare il contenuto del file all'interno di un ciclo while. Una volta che il ciclo while termina l'esecuzione, che sarà al più presto non è rimasto nulla nel file per l'scanner per la scansione, il ciclo while uscirà, e quindi lo scanner può chiudere.

4 La scansione di ogni riga nel file. All'interno del vostro ciclo while, aggiungere il seguente codice per eseguire la scansione di una singola linea ogni volta che il ciclo viene eseguito:

String = thisLine scan.nextLine ();

Ogni volta che il ciclo viene eseguito, il programma leggerà la riga successiva in una variabile stringa. Una volta che hai la riga nel programma, è possibile eseguire il trattamento è necessario, tra cui la divisione in token.

5 Tokenize le linee di file. Aggiungere il seguente codice, ancora all'interno del ciclo, mentre, seguendo la linea di lettura della riga corrente in una variabile stringa:

String [] = lineTokens thisLine.split ( "");

Questo esempio divide la linea sul carattere di spazio, in modo che ogni elemento dell'array conterrà qualunque è tra spazi nel file di input, per esempio singole parole. È possibile modificare questa linea per soddisfare il proprio file. Aggiungere qualsiasi ulteriore elaborazione richiesta per i gettoni all'interno del ciclo while. Una volta che il ciclo termina l'esecuzione, i tuoi gettoni non saranno più accessibili.

Consigli e avvertenze

  • Testare il codice diviso scrivendo il primo elemento della matrice ogni volta che il ciclo viene eseguito.
  • Assicurati di testare il programma utilizzando il tipo di dati file di input che si incontrano una volta che è distribuito. le operazioni di input e output possono essere molto imprevedibile, quindi il test è essenziale.