Hvordan Tokenize Input filer i Java

Hvordan Tokenize Input filer i Java


Java-språket gir en rekke valg for å lese og behandle innspill filer. Bruke "Filereader", "BufferedReader" og skanner klasser, kan du lese i innholdet i en ekstern fil i enkeltlinjer. Når du har hver linje i programmet, kan du bruke metodene i String klassen til tokenize det. Når du tokenize en linje i filen, kan programmet lagre tokens i arrays for videre behandling. Tokenizing innspill filer i Java er vanlig og nyttig.

Bruksanvisning

1 Importer Java verktøy for filen innspill drift. Inngangs prosessen bruker noen klasser av Java-språket, så legg disse import uttalelser på toppen av Java-klassen filen:

import java.io. *;
import java.util.scanner;

Dette gir programmet muligheten til å finne filen, åpne den som en inngang strøm, kan du lese i innholdet, og deretter behandle dem.

2 Lag forekomster av inngangs klasser du trenger. Du må legge til prøve og fange blokker til programmet, fordi input og output operasjoner kan kaste unntak, forårsaker programmet til å mislykkes; for eksempel hvis input filen du angir kan ikke bli plassert. Legg til følgende kode i programmet:

try {
Filereader fr = new Filereader ( "testfile.txt");
BufferedReader br = ny BufferedReader (fr);
Scanner scan = new Scanner (br);
// Videre behandling her
}
fangst (IOException IOE) {System.out.println (ioe.getMessage ()); }

Denne koden skaper instanser av klassene "Filereader", "BufferedReader" og "skanner". Disse objektene håndtere åpne og lese fra en fil. Endre "Filereader" linje for å gjenspeile navnet og plasseringen av din egen fil. Fangsten blokk instruerer Java for å sende ut en standardmelding om programmet kaster et unntak.

3 Lag en løkke i programmet for å fortsette å utføre mens filen har innhold å lese. Legg til følgende kode inni prøve blokken:

while (scan.hasNext ()) {
// Prosess hver linje her
}
scan.close ();

Dette forbereder programmet for å behandle innholdet i filen inne i en stund løkke. Når mens loop er ferdig utfører, som vil være så snart det er ingenting igjen i filen for Scanner til å skanne, vil mens loop avslutte, og deretter skanner kan lukke.

4 Skanne hver linje i filen. Inne mens loop, legge til følgende kode for å skanne én linje hver gang loopen utfører:

String thisLine = scan.nextLine ();

Hver gang løkken kjører, vil programmet lese neste linje i en streng variabel. Når du har linjen i programmet, kan du utføre enhver behandling du trenger, inkludert splitting det inn tokens.

5 Tokenize dine fil linjer. Legg til følgende kode, fremdeles inne mens loop, følger linjen lese gjeldende linje til en streng variabel:

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

Dette eksemplet deler linjen på plass karakter, slik at hver matrise element vil inneholde alt som mellom mellomrom i inndatafilen, for eksempel enkeltord. Du kan endre denne linjen som passer din egen fil. Legg videre behandling du trenger for tokens inne mens loop. Når sløyfen er ferdig utførende, vil tokens ikke lenger være tilgjengelig.

Hint

  • Teste delt kode ved å skrive ut det første element i gruppen hver gang sløyfen utfører.
  • Sørg for at du teste programmet med den type input filen data det vil støte når det er åpent. Input og output operasjoner kan være veldig uforutsigbar, så testing er viktig.