Auf Thema antworten

Hallo,


ich möchte in einer .txt Datei einen String finden und habe 2 Funktionen. Die eine liefert einen boolean Wert, ob der String gefunden wurde oder nicht. Die 2. Funktion liefert die Zeile, in der der Wert steht (bzw. sollte den liefertn, tut sie aber nicht.)


[code=Java]

File file = new File("test.txt");

FileReader freader = new FileReader(file);

BufferedReader reader = new BufferedReader(freader);


    public int StringZeile(String s){

        int i = 0;

        String line;

       

        while(true)

        {

            try{

                line = reader.readLine();


                if(line != null)

                {

                    if(line.indexOf(s) > -1)

                    {

                        return i;

                    }

                    i++;

                }

                else

                    return -1;

            } catch(IOException e){

                e.printStackTrace();

            }

        }

    }

   

    public boolean Stringvorhanden(String s){

        String line;

       

        while(true)

        {

            try{

                line = reader.readLine();


                if(line != null)

                {

                    if(line.indexOf(s) > -1)

                    {

                        return true;

                    }

                }

                else

                    break;

            } catch(IOException e){

                e.printStackTrace();

            }

        }

        return false;

    }

[/code]


Komischerweise liefert die 2. Funktion true, die 1. jedoch -1. Kann mir dabei irgendwer helfen?



Oben