Avatar billede krukken Mester
09. maj 2006 - 20:17 Der er 1 løsning

Læsning af fil med StreamToken

Jeg har en fil der ligger i følgende format:
11111111,
22222222,
33333333,
osv.

Når jeg læser filen med efterfølgende kode, får jeg det samme tal 3-4 gange - hvorfor sker der?

FileReader rd = null;
        try
        {
            rd = new FileReader("UID");
            BufferedReader br = new BufferedReader(rd);
            StreamTokenizer st = new StreamTokenizer(br);

            // Prepare the tokenizer for Java-style tokenizing rules
            st.parseNumbers();
            st.wordChars('_', '_');
            st.eolIsSignificant(true);

            // If whitespace is not to be discarded, make this call
            st.ordinaryChars(0, ' ');

            // These calls caused comments to be discarded
            st.slashSlashComments(true);
            st.slashStarComments(true);

            // Parse the file
            int token = 0;

            token = st.nextToken();

            for(int i = 0;token != StreamTokenizer.TT_EOF;i++)
            {
                token = st.nextToken();
                //UIDs[i] = ((int)st.nval);
                System.out.println((int)st.nval);
               
            }
        }
        catch (IOException e)
        {
            System.out.println(e);
        }

Desuden kunne jeg godt tænke mig at vide om det er muligt at få at vide hvor mange linier der findes i filen, kan det lade sig gøre?
Avatar billede krukken Mester
09. maj 2006 - 21:15 #1
Jeg fandt selv svaret:
BufferedReader in = new BufferedReader(new FileReader("UID" ) );
        StreamTokenizer st = new StreamTokenizer(in);
        // process the entire file, of space or comma-delimited ints
        int found = StreamTokenizer.TT_NUMBER;
        while ( found != StreamTokenizer.TT_EOF )
        {
            found = st.nextToken ();
            if ( found == StreamTokenizer.TT_NUMBER )
            {
                int i = (int)st.nval;
                System.out.println(i);
            } // end if
        }
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester