programm beendet sich

StupidAttack

Bekanntes Mitglied
huhu


Mein programm beendet sich (ohne fehlermeldung) nachdem ich folgende methode aufrufe:

Java:
private void loadProxyList() {
        int counter = 0;
        try {
            BufferedReader in = new BufferedReader(new FileReader("C:/Users/Nikolai/Desktop/ProxyList/proxy.txt"));
            String line = " ";
            while (!line.equals("")) {

                line = in.readLine();
                String[] proxy = line.split(":");
                proxylist.add(new Proxy(proxy[0], Integer.valueOf(proxy[1]))); //my coding sucks oO
                counter++;
            }
            in.close();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            System.out.println("I could find " + counter + " proxys");

        }

    }

Es muss diese Funktion sein, ich habe es u.a. in einem anderen Kontext auch versucht...

woran kann es liegen?
Grüsse
 
Zuletzt bearbeitet:
1. Hast Du schon mal versucht, mit einem Debugger in die Methode zu springen?
2. Falls Du keinen Debugger verwenden kannst/willst: hast Du schon Konsolenausgaben verwendet, um festzustellen, ob wirklich in diese Methode verzweigt wird?
 
Ich kann den Debugger ned bedienen. Wenn ich ihn nicht bedienen wollte, wäre mein Post eure Hilfe nicht wert.

zu 2 : ja hab ich. Wenn ich inner main methode in netbeans aufrufe, erhalte ich nur einmal die println ausgabe. vorher beendet sich das programm. alle daten werden jedoch richtig eingelesen.

Java:
        System.out.println("hierher hab ichs gepackt :/ ");
        sample.loadProxyList();
        System.out.println("hierher hab ichs gepackt :/ ");
 
Dann versuch es doch mal so:
Java:
        try {
          System.out.println("vor loadProxyList"); System.out.flush();
          sample.loadProxyList();
          System.out.println("nach loadProxyList"); System.out.flush();
        } catch (final Exception e) {
           e.printStackTrace( System.out); System.out.flush();
        }
        /* ... */

private void loadProxyList() {
        System.out.println("in loadProxyList #1"); System.out.flush();
        int counter = 0;
        try {
            BufferedReader in = new BufferedReader(new FileReader("C:/Users/Nikolai/Desktop/ProxyList/proxy.txt"));
            String line = " ";
            while (!line.equals("")) {
               System.out.println("in loadProxyList #2.1: line=" + line); System.out.flush();
 
                line = in.readLine();
               System.out.println("in loadProxyList #2.2: line=" + line); System.out.flush();
                String[] proxy = line.split(":");
                proxylist.add(new Proxy(proxy[0], Integer.valueOf(proxy[1]))); //my coding sucks oO
                counter++;
            }
            in.close();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            System.out.println("I could find " + counter + " proxys");
 
        }
        System.out.println("in loadProxyList #3"); System.out.flush();
 
    }

Meine Vermutung: am Ende der Datei ist line kein Leerstring, sondern null, weil BufferedReader#readLine nunmal null liefert, wenn man am Ende des Streams angekommen ist. Daher tritt eine NullPointerException auf (und keine IOException, die in der Methode loadProxyList abgefangen und protokolliert würde).
 
Zuletzt bearbeitet:
Was enthält die txt ?
Was ist das für eine Klasse Proxy ? Die aus der API besitzt keinen Konstruktor ?
Ein kleines Beispiel zum selber Kompilieren plus deine proxy.txt wäre interessant.

Was kannst du am Debugger nicht bedienen ? In NetBeans ist doch ein recht einfach zu gebrauchender eingebaut ?
 
Was enthält die txt ?
Was ist das für eine Klasse Proxy ? Die aus der API besitzt keinen Konstruktor ?
Ein kleines Beispiel zum selber Kompilieren plus deine proxy.txt wäre interessant.

Was kannst du am Debugger nicht bedienen ? In NetBeans ist doch ein recht einfach zu gebrauchender eingebaut ?

proxy ist meine eigen klasse. es lag wirklich an dem null string, der die exception geworgen hat.
 

Zurück
Oben