Probleme beim Einlesen einer TXT/CSV-Datei aus einem JAR

Status
Nicht offen für weitere Antworten.

Peter@Pan

Aktives Mitglied
Hi Leute,

ich bekomme immer eine NullPointerException wenn ich versuche eine TXT oder CSV-Datei einzulesen. Die Datei hat über 20000 Zeilen und ist etwa 1,2 Megabyte groß. An meinem FileLoader kann es eigentlich nicht leigen, denn starte ich das Programm aus Eclipse herraus wird die Datei (liegt dann aber nicht in einem JAR, sondern lokal auf der Festplatte) ohne Probleme geladen. Außerdem hab ich auch keine Probleme damit eine andere kleinere CSV (nur 4000 Zeilen ) aus dem JAR zu laden.



Hier der Code von meinem FileLoader
Code:
public FileLoader(String path, int columns,String trenner) 
	{
		this.model = new DefaultTableModel(0,columns);
		Vector v = new Vector();
		File f = new File(path);
		if(f.exists()) //Wenn die Datei existiert dann lies sie ein.
		{
			try
			{
				System.out.println("Datei: " + path +"wird lokal geladen von " +f.getAbsolutePath());
			    BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(path)));
			      for (String buffer;(buffer = in.readLine()) != null;) 
				  { 
			         if("".equals(buffer.trim())) //Ändern da Nullpointer exception
			         //if ("".equals(buffer.trim())) 
			           continue; 
			         v = createVector( buffer,columns,trenner);
			         this.model.addRow(v);    
				  }    
			      in.close();	
			}
			catch( IOException exc)
			{
				exc.printStackTrace();
			}		
		}
		else //Scheinbar konnte die Datei nicht vom lokalen Datenträger geladen werden	
		{	 //- dann versuch aus ausführenden JAr zuladen
			try
			{
				System.out.println("Datei wird auf dem ausführenden Jar geladen");
				DataInputStream in = new DataInputStream(FileLoader.class.getResourceAsStream(path));
			      for (String buffer;(buffer = in.readLine()) != null;) 
				  { 
			         if (buffer.trim().equals("")) 
			           continue; 
			         v = createVector( buffer,columns,trenner);
			         this.model.addRow(v);    
				  }   
				in.close();	
			}
			catch( IOException exc)
			{
				exc.printStackTrace();				
			}		
		}
	}


	
	//Parameter size hat keine Bedeutung zur Zeit
	protected Vector createVector(String buffer, int size, String trenner)
	{
		Vector vector = new Vector();
		int counter = 0;
	    StringTokenizer str = new StringTokenizer(buffer,trenner,true);
        
        for( int i = 0;str.hasMoreTokens(); i++ )
        { 	vector.add(str.nextToken());
        	//Sollte zweimal hintereinander ein Trennzeichen kommen,
        	//wird zwichen diese beiden ein Leerzeichen eingefügt
	    	if(vector.elementAt(i).equals(trenner))
	    	{
	    		counter++;
	    		if(counter >1)
	    		{
	    			vector.insertElementAt(" ",i);
	    			counter = 0;
	    		}
	    	}
	    	else
	    	{
	    		counter = 0;
	    	}
        }
        /*
         * Entfernt alle Trennezeichen aus dem Vector
         */
        for(int i = 0; i< vector.size();i++)
        {
        	if(vector.elementAt(i).equals(trenner))
        	{
        		vector.removeElementAt(i);
        	}
        }
		
		return vector;
	}


P.S.: Programm und TXT/CSV Datei liegen in einem JAR das ausgeführt wird.
P.P.S.: Ich lasse die JAR von der Export-Funktion von Eclipse erstellen.
 

Peter@Pan

Aktives Mitglied
Also an der größe der Datei kann es auch nicht liegen - hab mal eine von meinen großen TXT - Datein auf 10 Zeilen gekürzt und es kommt immer noch die NullPointerException :(
 
B

bygones

Gast
man kann keine datei die im jar ist einfach aufrufen...
leider weiß ich nimmer genau wie - irgendwas war da mit getSystemRessource oder so....
 

Peter@Pan

Aktives Mitglied
deathbyaclown hat gesagt.:
man kann keine datei die im jar ist einfach aufrufen...
leider weiß ich nimmer genau wie - irgendwas war da mit getSystemRessource oder so....

Das Einlesen läuft ganz einfach über getResourceAsStream (Siehe Zeile 33).

Code:
DataInputStream in = new DataInputStream(FileLoader.class.getResourceAsStream(path));


Das scheint auch noch zu funktionieren. Die Exception wird nämlich erst in der 34 Zeile ausgelöst.

Bei
Code:
for (String buffer;(buffer = in.readLine()) != null;)
 
B

bygones

Gast
na klar - er kann den die datei nicht finden -> in ist null -> exception
 

Peter@Pan

Aktives Mitglied
Gibt es vielleicht noch eine andere Möglichkeit Datein aus einer JAR zu lesen außer getResourceAsStream() :?:
 

MPW

Top Contributor
Wie kann man den aus dem getRessourceAsStream() einen vernünftigen BufferedFileReader bekommen um eine txt-Datei ganz normal einzulesen??
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Probleme mit Umlauten beim Einlesen Allgemeine Java-Themen 6
C Probleme beim Erstellen eines runnable-jar files Allgemeine Java-Themen 1
B Java Reflection Probleme beim wehcselseitigen Referenzieren zweier Klassen/Objekte Allgemeine Java-Themen 14
B Compiler-Fehler Probleme beim Kompilieren mit Jsoup Allgemeine Java-Themen 8
V Threads Probleme beim Aufrufen von Methoden einer anderen Klasse (Threads) Allgemeine Java-Themen 14
B Input/Output Probleme beim Ausführen von Shell-Befehlen mit Java Allgemeine Java-Themen 28
J Probleme beim einbinden von Zip4j library Allgemeine Java-Themen 6
F SQLite mit Java / Probleme beim INSERT Befehl Allgemeine Java-Themen 4
S Eclipse Probleme beim Implementieren / Ausführen von jUnit 5-Test Suites Allgemeine Java-Themen 14
A Probleme beim Verstehen einer Aufgabenstellung Allgemeine Java-Themen 11
perlenfischer1984 Probleme beim Mocken Allgemeine Java-Themen 6
R probleme beim starten von jar unter linux Allgemeine Java-Themen 2
M Probleme beim rechnen, bei Zahlen mit führenden Nullen. Allgemeine Java-Themen 7
E JCuda-0.6.5 Probleme beim ausführen der Datei Allgemeine Java-Themen 0
W JNDI - LDAP - Probleme beim editieren von Usern Allgemeine Java-Themen 0
N Zahlensysteme umrechnen; Probleme beim Umwandeln Allgemeine Java-Themen 4
A Probleme beim auslesen von Quelltext (HTML) Allgemeine Java-Themen 5
M 3D-Grafik Probleme beim drehen von Objekten Allgemeine Java-Themen 9
S Probleme beim Auslesen einer Liste Allgemeine Java-Themen 8
H Probleme beim Erstellen einer txt. Datei Allgemeine Java-Themen 7
S Probleme beim Start von jar Datein Allgemeine Java-Themen 15
S Probleme beim Compilen Allgemeine Java-Themen 8
P Probleme beim Signieren Allgemeine Java-Themen 2
D Probleme beim schreiben / lesen in TreeMap Allgemeine Java-Themen 9
S Probleme beim Anzeigen des Dateiinhalts Allgemeine Java-Themen 6
O Probleme beim vergleichen von 2 Datumsangaben Allgemeine Java-Themen 2
hdi Probleme beim Rechnen mit BigDecimal Allgemeine Java-Themen 5
V Probleme beim Drucken mehrerer PDF's Allgemeine Java-Themen 17
E Probleme beim Umstieg auf Version 1.6.0_12 Allgemeine Java-Themen 4
J Java Plugin probleme beim Laden? Allgemeine Java-Themen 3
V Probleme beim Lesen mit readObject -> InvalidClassExcepti Allgemeine Java-Themen 3
D Probleme beim Umstellen von iText 1.4.4 auf Version 2.1.2 Allgemeine Java-Themen 5
G Probleme beim Sichern von Properties Allgemeine Java-Themen 2
W Probleme beim Ausführen einer Java Klasse auf Kommandozeile Allgemeine Java-Themen 17
S Probleme beim Einstieg Allgemeine Java-Themen 3
F Probleme beim speichern einer xml datei mit jdom Allgemeine Java-Themen 5
D Probleme beim FAQ (JTextField: Dokumentarten) Allgemeine Java-Themen 5
B probleme beim compilen/decompilen Allgemeine Java-Themen 4
G Probleme beim Mail-Api mit BCC Allgemeine Java-Themen 2
M Probleme beim ausführen meiner Klasse Allgemeine Java-Themen 8
G probleme beim sortieren einer ArrayList Allgemeine Java-Themen 8
G Probleme beim Entzippen Allgemeine Java-Themen 4
G jdk1.5 Probleme beim Installieren unter Win Allgemeine Java-Themen 2
J Probleme mit der CommApi beim ProgrammStart über Konsole Allgemeine Java-Themen 2
C Probleme beim Starten eines Java-Programms Allgemeine Java-Themen 2
E Probleme beim Zugriff auf verschachtelte Vektoren Allgemeine Java-Themen 16
G Probleme beim Verbinden auf einen Notes 5 Server Allgemeine Java-Themen 3
S Umstellung von File auf Path - Probleme mit Stream Allgemeine Java-Themen 5
C Probleme mit javax.mail.Session Allgemeine Java-Themen 8
M tomcat probleme Allgemeine Java-Themen 1
N Division macht Probleme Allgemeine Java-Themen 14
MarvinsDepression Probleme mit relativem Dateipfad Allgemeine Java-Themen 1
G Geotools Probleme nach PC-Wechsel Allgemeine Java-Themen 6
nibe1501 GUI Probleme Allgemeine Java-Themen 16
C Probleme mit dem WindowBuilder Allgemeine Java-Themen 3
P Selenium . Probleme ein Iron Icon Element anzusprechen Allgemeine Java-Themen 2
K VisualVM Profiling Remote Probleme Allgemeine Java-Themen 1
O Leerzeichen und Umlaute im Pfad einer Java Applikation machen Probleme Allgemeine Java-Themen 13
M Probleme bei Eclipse wenn ich entpacke Allgemeine Java-Themen 15
D Regex Probleme Allgemeine Java-Themen 2
M Probleme jar datei. Allgemeine Java-Themen 2
L Vererbung Verständnis Probleme Vererbung Allgemeine Java-Themen 2
Dann07 Probleme mit OpenAL Allgemeine Java-Themen 0
V Compiler-Fehler Online Compiler Probleme Allgemeine Java-Themen 4
M Probleme mit Negamax-Algorithmus Allgemeine Java-Themen 29
M Probleme mit BigDecimal Allgemeine Java-Themen 1
T Probleme mit NumberFormat Allgemeine Java-Themen 5
J Probleme exe-Start mit Task Scheduler Allgemeine Java-Themen 1
F Variablen Palindromzahl (Probleme mit Methode) Allgemeine Java-Themen 9
K Data Konverter - Probleme mit Byte[] Kodierung Allgemeine Java-Themen 3
T Probleme mit dem Pfad zum Propertie file Allgemeine Java-Themen 7
H Swing HashMap zu Tabelle macht mir Probleme Allgemeine Java-Themen 4
Neoline Interpreter-Fehler Probleme mit Arrays.toString Allgemeine Java-Themen 7
J Erste Schritte Probleme mit der Hauptklasse Allgemeine Java-Themen 14
J Tetris Probleme bei Klassen Allgemeine Java-Themen 14
J MinMax VierGewinnt Probleme Allgemeine Java-Themen 22
J Probleme mit CodeCoverage und Lombok Equals Allgemeine Java-Themen 1
R Snake Probleme Allgemeine Java-Themen 2
RalleYTN 3D Objekt Translation basierend auf Rotation (Probleme mit Z Rotation) Allgemeine Java-Themen 0
Bluedaishi Druck Probleme mit PDF dateien Allgemeine Java-Themen 4
G Ant Probleme bei einer Installation die Apache ant+ivy verwendet Allgemeine Java-Themen 14
E TableView Probleme Allgemeine Java-Themen 7
S Kaffemaschine Programmierung Probleme Allgemeine Java-Themen 2
K Threads Runtime und Process Probleme Allgemeine Java-Themen 3
S Probleme mit unterschiedlichen Java-Versionen (Mac OS X 10.11) Allgemeine Java-Themen 0
S Event Handling keyPressed()-Probleme Allgemeine Java-Themen 2
VfL_Freak Große und seltsame Probleme nach Java-Update auf V1.8.0_91 Allgemeine Java-Themen 3
P Probleme mit Grafik (Java) Allgemeine Java-Themen 6
H Probleme mit DAY_OF_WEEK Allgemeine Java-Themen 4
Arif Probleme mit NullPointerException Allgemeine Java-Themen 2
E Probleme mit nextInt() und Exception Allgemeine Java-Themen 35
Streeber Probleme mit AWT-EventQueue: ArrayList Elemente hinzufügen Allgemeine Java-Themen 1
D Performance-Probleme mit Joda-Time Allgemeine Java-Themen 3
RalleYTN Probleme mit Encrypting Allgemeine Java-Themen 10
M Probleme mit Schriftarten PDFBox Allgemeine Java-Themen 3
J Probleme mit der Java-Runtime Allgemeine Java-Themen 10
G Probleme mit BufferedWriter und URL Allgemeine Java-Themen 4
S Probleme mit meinem MacBook Pro DRINGEND HILFE erbeten! Allgemeine Java-Themen 17
Androbin Interpreter-Fehler Probleme mit Rekursion - StackOverflowError Allgemeine Java-Themen 8
M Runtime.exec() verursacht auf manchen Systemen Probleme - Ursache unklar Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben