Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich habe ein kleines Programm geschrieben in welchem Daten aus TXTs ausgelesen werden. In Eclipse funktioniert alles super, wenn ich das ganze jetzt jedoch als JAR exportieren möchte, fehlt in der Datei aufeinmal der Ordner mit den TXTs. Ich vermute mal, dass ich den Ordner irgendwie dem Classpath hinzufügen muss, aber wie mache ich das?
Schon mal danke im Vorraus
das habe ich auch schon ausprobiert, dann landen die Dateien zwar in der JAR aber ohne Ordner! Auch findet er die Dateien nicht, weder unter "<Ordner>/<Dateiname>", noch unter "<Dateiname>".
Code:
Exception in thread "main" java.io.FileNotFoundException: matrix1.txt (Das System kann die angegebene Datei nicht finden)
also, ich habe jetzt mal versucht das ganze mit getRessource einzulesen...
Java:
public class SudokuIO {
public static int[][] read(String path, String name) throws Exception {
BufferedReader in = new BufferedReader(new InputStreamReader(SudokuIO.class.getResourceAsStream(path + name + ".txt")));
//BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(path + name + ".txt")));
String line;
int[][] m = new int[9][9];
for(int i=0; (line=in.readLine())!=null; i++) {
if(line.equals("")) {
i--;
continue;
}
StringTokenizer st = new StringTokenizer(line);
for(int j=0; st.hasMoreTokens(); j++) {
int x = Integer.valueOf(st.nextToken()).intValue();
if(x<0 || x>9) throw new RuntimeException("nur Zahlen zwischen 0 und 9!");
m[i][j] = x;
}
}
in.close();
return m;
}
Und jetzt sagt mir Eclipse:
Code:
Exception in thread "main" java.lang.NullPointerException
at java.io.Reader.<init>(Unknown Source)
at java.io.InputStreamReader.<init>(Unknown Source)
at sudoku.SudokuIO.read(SudokuIO.java:10)
at sudoku.Test.main(Test.java:22)
mit der auskommentierten Zeile funktioniert das...
Nein, die auskommentierte Zeile geht aufs Dateisystem und da ist der Sourcefolder natürlich Teil des Pfades (das funktioniert später im jar aber nicht mehr).
Wie sieht dein Pfad aus und wo liegt das Bild im Projekt?
ich habe eine Projekt "Sudoku". Darin liegen zwei source ordner. Einmal der "src" und "lib". In "lib" ist jetzt ein normaler Ordner "submissions" und in dem liegen die TXTs.
ja, eigentlich schon, wäre ansonsten eher peinlich...
(aber dann müsste das ja auch nicht mit der auskommentierten klappen... also natürlich wenn ich da dann wieder zum path "lib" hinzufüge)
Nein, das stimmt nicht ganz. Nicht jedes Dateisystem inst Case-Sensitiv. NTFS (Windows) zum Beispiel ist es nicht. Classpath Resourcen sind allerdings immer Case-Sensitv.
Nochmal die Checkliste:
-Stell sicher das die Resource in einem Source folder liegt
-Stell sicher das die Groß- Kleinschreibung passt
-Stell sicher das der Pfad passt