In meinem Programm habe ich ein Speichern und Laden von System für Textdateien. Die Speicherfunktion funktioniert perfekt wie vorgesehen, aber das Laden gibt eine NullPointerException.java Finden Sie den Speicherort eines .jar, unabhängig davon, wo der Benutzer es setzt
Hier ist die Ladefunktion
String path = "C:\\Levels\\File.txt";
LevelHandler.loadLevel(path);
Hier ist die loadLevel Funktion
public static void loadLevel(String file){
String level = LevelLoader.loadFileAsString(file);
//other, unimportant, code
}
Und hier ist die loadFileAsString Funktion
public static String loadFileAsString(String file){
StringBuilder builder = new StringBuilder();
try {
InputStream in = LevelLoader.class.getResourceAsStream(file);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in));
String line;
while((line = bufferedReader.readLine()) != null){
builder.append(line + "\n");
}
} catch (IOException e) {
e.printStackTrace();
}
return builder.toString();
}
Es scheitern, weil es für die Datei in der Klasse Ordner suchen ist unabhängig davon, in welches Verzeichnis ich mich beziehe. Wie kann ich den Standort von die .jar-Datei unabhängig davon, wo der Benutzer sie auf ihrem Computer platziert?
Habe ich richtig verstanden? Du hast immer absoluten Pfad zur Datei, richtig? –
@ RiĥardBrugekĥaim nein Ich habe nur das verwendet, um zu vermeiden, in die Eingabe zu gehen und wie es die Pfadzeichenfolge zusammen –