Nullpoint Exception ähh?

Status
Nicht offen für weitere Antworten.

R3M4X

Mitglied
Hallo Leute,

versuche gerade mit meinem Code aus einer Zeile, den Wert "USER" auszulesen und einfach zählen wieviele USER so in der Datei vorkommen. Und zwar liest er alles richtig aus, nur sobald der Buffer auf Null geht, liest er nicht mehr den letzten Wert von int User aus. Warum nicht und was kann ich da machen?

Mein Fehlercode: Exception in thread "main" java.lang.NullPointerException
at datei_V2.main(datei_V2.java:20)
Java:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class datei_V2 {
	public static void main (String[]args) throws IOException{
		File datei = new File("C:\\Daten.txt");
		System.out.println("Dateiname: " + datei.getName());
		System.out.println("Dateigröße: " + datei.length());
		
		int USER= 0;
		FileReader datei_2 = new FileReader("C:\\Daten.txt");
		BufferedReader bf = new BufferedReader(datei_2);
		String test = bf.readLine();
		while (test !=  null){
			System.out.println(test);
			test = bf.readLine();
			
			if (test.contains("USER")){
				USER = USER + 1;
				System.out.println(USER);
			}
		
		}
		}
		
	}

}
 

velaluka

Aktives Mitglied
Deine Bedienung ist doch test != null und die wird am Ende auch erfüllt, also müsstes du vor dem contains auf null prüfen.
Ciao Velaluka
 
B

bygones

Gast
Java:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class datei_V2 {
	public static void main (String[]args) throws IOException{
		File datei = new File("C:\\Daten.txt");
		System.out.println("Dateiname: " + datei.getName());
		System.out.println("Dateigröße: " + datei.length());
		
		int USER= 0;
		FileReader datei_2 = new FileReader("C:\\Daten.txt");
		BufferedReader bf = new BufferedReader(datei_2);
		String test = bf.readLine();
		while (test !=  null){
			System.out.println(test);
			test = bf.readLine();
			
			if (test.contains("USER")){
				USER = USER + 1;
				System.out.println(USER);
			}
		
		}
		}
		
	}

}
oder einfach
[groovy]
def file = "C:\\Daten.txt" as File
println file.readLines().count { it.contains('USER') }
[/groovy]

bygones
 

R3M4X

Mitglied
oder einfach
[groovy]
def file = "C:\\Daten.txt" as File
println file.readLines().count { it.contains('USER') }
[/groovy]

bygones

Irgend wie klappt das nicht , habe Syntax error mit deinem Code :) Eclipse sagt: def kenn ich nicht, willst du Classe draus bauen?

Frage: Kann ich den readLine() irgend wie zerlegen? Habe z.B. in der nächsten Zeile verschiedene Freischaltungen die ein USER beinhaltet, würde gerne diese auch irgen wie auslesen können.
 
B

bygones

Gast
Irgend wie klappt das nicht , habe Syntax error mit deinem Code :) Eclipse sagt: def kenn ich nicht, willst du Classe draus bauen?
solange du nicht groovy bei dir installiert hast wird das nix ;-)

wollte nur mal wieder protzen wie einfach man Sachen in groovy loesen kann....

also bygones
 

R3M4X

Mitglied
oder einfach
[groovy]
def file = "C:\\Daten.txt" as File
println file.readLines().count { it.contains('USER') }
[/groovy]

bygones

solange du nicht groovy bei dir installiert hast wird das nix ;-)

wollte nur mal wieder protzen wie einfach man Sachen in groovy loesen kann....

also bygones

Ist es den üblich als Anfänger, gleich mit Groovy anzufangen? Sollte man lieber nicht erstmal den Pfaden, mit Java beibehalten um später bei größeren Sachen sich mit Groovy auszuhelfen?

Wie zerlege ich den nun meine readLine() am besten?
 

schalentier

Gesperrter Benutzer
Java:
public void readFile() {
   FileReader datei_2 = new FileReader("C:\\Daten.txt");
   BufferedReader bf = new BufferedReader(datei_2);

   String line;
   while( (line=bf.readLine()) != null ) {
      processLine( line );
   }
}

public void processLine( String line ) {
   if (line.contains("USER")){
      USER = USER + 1;
      System.out.println(USER);
   }
}

Das While-Konstrukt ist in der Tat haesslich und man sollte solches Zeug vermeiden, aber ich denke beim typischen Zeileneinlesen ist das okay. Der Vollstaendigkeit halber noch die Alternative:
Java:
...
String line;
do {
   line = bf.readLine();
   if( line!=null ) {
      processLine( line );
   }
} while( line!=null );
...
 
B

bygones

Gast
Ist es den üblich als Anfänger, gleich mit Groovy anzufangen? Sollte man lieber nicht erstmal den Pfaden, mit Java beibehalten um später bei größeren Sachen sich mit Groovy auszuhelfen?
groovy hilft eigentlich immer egal ob groesser oder kleiner sachen... aber bleib erstmal bei pur java ;-)

Wie zerlege ich den nun meine readLine() am besten?
nein readLine kannst du nicht zerlegen... wenn du aber einen USER gefunden hast kannst du natuerlich ueber weitere readLine aufrufe die darauffolgenden Zeilen einlesen...
 
S

SlaterB

Gast
man braucht groovy nicht, um sowas abzukürzen, von paar Variablen-Deklarationen + Schleifen-Klammern abgesehen:
Java:
        EasyFile file = new EasyFile("test.txt");
        Counter c = new Counter();
        for (String line : file.readLines())
        {
            c.count(line.contains("USER"));
        }
        System.out.println("count: " + c.getCount());
es braucht nur entsprechende Hilfsklassen
Java:
class Counter
{
    int count = 0;

    public void count(boolean bool)
    {
        if (bool)
        {
            count++;
        }
    }

    public int getCount()
    {
        return this.count;
    }
}


class EasyFile
{
    private String file;

    public EasyFile(String file)
    {
        this.file = file;
    }

    public Iterable<String> readLines() // provisorisch
    {
        final BufferedReader reader;
        try
        {
            reader = new BufferedReader(new FileReader(this.file));
        }
        catch (Exception e)
        {
            throw new RuntimeException(e);
        }

        final Iterator<String> iter = new Iterator<String>()
            {
                private String line = null;

                public boolean hasNext()
                {
                    try
                    {
                        line = reader.readLine();
                        if (line == null)
                        {
                            reader.close();
                        }
                    }
                    catch (Exception e)
                    {
                        throw new RuntimeException(e);
                    }
                    return line != null;
                }

                public String next()
                {
                    return line;
                }

                public void remove()
                {
                }

            };

        return new Iterable<String>()
            {
                public Iterator<String> iterator()
                {
                    return iter;
                }
            };
    }
}
wenn man so ungewöhnlich programmieren möchte, dann geht das auch in Java,
die Lehrbücher müssten das vielleicht bisschen mehr verbreiten
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
R wieso Nullpoint und was mit Events ? Java Basics - Anfänger-Themen 14
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
Fiedelbambu Exception in Application constructor Java Basics - Anfänger-Themen 3
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
M Exception in thread "main" java.util.NoSuchElementException Java Basics - Anfänger-Themen 2
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
S JavaKara Null Exception Error Java Basics - Anfänger-Themen 4
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
LiFunk Exception: es dürfen nur Nummern eingelesen werden Java Basics - Anfänger-Themen 6
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
G Exception Java Basics - Anfänger-Themen 2
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
I JAX-RS Exception Handling Java Basics - Anfänger-Themen 4
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
J null exception Array Java Basics - Anfänger-Themen 5
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
C Exception-Frage Java Basics - Anfänger-Themen 3
B Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
I Exception bei Button mit wait() und notifyAll() Java Basics - Anfänger-Themen 3
N Wie teste ich eine geworfene Exception? Java Basics - Anfänger-Themen 8
R Methoden ArrayList clonen wirft exception Java Basics - Anfänger-Themen 3
D Scanner- Exception NoSuchElementException Java Basics - Anfänger-Themen 2
N Exception werfen bei falscher Datumseingabe Java Basics - Anfänger-Themen 14
A Exception handeling mit finally und objektreferenzen Java Basics - Anfänger-Themen 6
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
S Exception Java Basics - Anfänger-Themen 2
J Exception-Aufgabe Java Basics - Anfänger-Themen 8
S Verwenden von throw Exception an der Funktion Java Basics - Anfänger-Themen 2
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
Z Fragen zu Exception (Throws/throw) Java Basics - Anfänger-Themen 7
OSchriever Exception für Abbrechen-Schaltfläche JOptionpane Java Basics - Anfänger-Themen 9
J Dateien in Verzeichnissen rekursiv auflisten wirft Exception Java Basics - Anfänger-Themen 4
J Exception unreachable Java Basics - Anfänger-Themen 12
O unchecked Exception Java Basics - Anfänger-Themen 4
P Exception werfen Java Basics - Anfänger-Themen 15
B EJB und Arquillian - bekomme Nullpointer Exception beim Aufruf der EJB Klasse Java Basics - Anfänger-Themen 40
S Exception bei Verwendung von LocalDate Java Basics - Anfänger-Themen 19
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
D Warum die Nullpointer Exception Java Basics - Anfänger-Themen 6
O Exception behandlung einfach Ueben mit Fakt! Java Basics - Anfänger-Themen 10
I OOP Was ist die "Exception Hierarchie" ? Java Basics - Anfänger-Themen 3
U Null Exception aber keine Ahnung warum Java Basics - Anfänger-Themen 5
G Exception und Ausgabe der Duplikate Java Basics - Anfänger-Themen 6
H Try Catch Throw Exception Java Basics - Anfänger-Themen 1
W Exception in Main abfangen oder in der Methode? Java Basics - Anfänger-Themen 10
F Referenz an ein Objekt in einer anderen Klasse erstellen(Nullpointer exception) Java Basics - Anfänger-Themen 6
Mosquera Exception Java Basics - Anfänger-Themen 5
M rekursive division/0 mit exception Java Basics - Anfänger-Themen 18
N Nullpointer exception Java Basics - Anfänger-Themen 4
L Eigene Exception schreiben bei zu langem Array Java Basics - Anfänger-Themen 10
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
S Array Grenzen-Exception Java Basics - Anfänger-Themen 11
E InputStream im Servlet wirft Exception Java Basics - Anfänger-Themen 5
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
G Arrays out of Bounds exception Java Basics - Anfänger-Themen 2
H Compiler-Fehler Out of Bunce Exception bei einem Char Java Basics - Anfänger-Themen 6
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
C Null Pointer Exception Java Basics - Anfänger-Themen 10
F Klassen Eigene Exception Bedingungen festlegen Java Basics - Anfänger-Themen 2
G Null Pointer Exception Java Basics - Anfänger-Themen 4
GreenTeaYT Exception und zur OOP fragen? Java Basics - Anfänger-Themen 3
O Exception bei Parse-Vorgang Java Basics - Anfänger-Themen 17
T Exception Problem Java Basics - Anfänger-Themen 5
Z Getter/Setter NullPointer Exception Java Basics - Anfänger-Themen 6
W Nullpointer Exception bei .add(...) Java Basics - Anfänger-Themen 6
L Input/Output InputMismatch.Exception Java Basics - Anfänger-Themen 7
B Exception Liste von Liste Java Basics - Anfänger-Themen 3
D Throw Exception Java Basics - Anfänger-Themen 2
MiMa JavaDoc Exception @throws schlagen an Java Basics - Anfänger-Themen 4
J Exception in thread "main" Java Basics - Anfänger-Themen 1
B Exception richtig einbinden Java Basics - Anfänger-Themen 1
M Exception soll Werte mitgeliefert bekommen Java Basics - Anfänger-Themen 12
M Selbstdefinierte Exception Java Basics - Anfänger-Themen 5
B Exception Throwable Java Basics - Anfänger-Themen 11
M Erste Schritte Start Methode - Exception Java Basics - Anfänger-Themen 1
F Operatoren Wieso fliegt hier eine NullPointer Exception :( Java Basics - Anfänger-Themen 3
F nullpointer exception - arrayerstellung Java Basics - Anfänger-Themen 4
K Iterator-Interface implementieren mit Exception Handlung Java Basics - Anfänger-Themen 1
H Erste Schritte Exception: 0 Java Basics - Anfänger-Themen 2
A Exception vs. Testklasse (Programm testen) Java Basics - Anfänger-Themen 2
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
K Exception nur im "Debug"-Modus und jedem 3.-5. mal Ausführen Java Basics - Anfänger-Themen 3
S Java memory fehler: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa Java Basics - Anfänger-Themen 5
L [JFrame] Exception - woher? Java Basics - Anfänger-Themen 8
N Threads Exception in thread "main"... Feher bei dem Versuch ein Radius zu berechnen Java Basics - Anfänger-Themen 4
R "Missbrauch" von Exception zum Programmfluss Java Basics - Anfänger-Themen 1
U Exception: OutOfMemoryError Java Basics - Anfänger-Themen 11
A Int Eingabe: String mit Exception abfangen. Aber wie? Java Basics - Anfänger-Themen 3
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
V Threads Exception in Thread behandeln Java Basics - Anfänger-Themen 3

Ähnliche Java Themen


Oben