Bei Umlauten und Leerzeichen im Pfad, wird Datei nicht gefunden

Ingerten

Bekanntes Mitglied
Morgen Männers,

habe mal wieder ein kleines Problem, was für euch bestimmt ne Kleinigkeit ist.

Ich will eine .ini auslesen, solange der Pfad keine Umlaute oder Leerzeichen hat, ist alles ok,
aber wenn der Pfad umlaute oder Leerzeichen hat, dann findet er die .ini nicht mehr.

Ich habe natürlich versucht was im Netz zu finden, aber das meiste was ich da gefunden habe ist so alt, das der Kaiser es vielleicht selber noch geschrieben hat.

Aus diesem Grund dachte ich mir, das ich bei euch mal nachfrage, ob es da was aktuelles zu dem Thema gibt.

Hier ist mein Code, mit dem ich die .ini finden will.

Java:
URI pfadURI = null;
// ermittelt den Pfad, wo die jarStart.jar liegt. Die iniDatei.ini liegt im selben Ordner
		try {
			pfadURI = ConfigINI.class.getProtectionDomain().getCodeSource().getLocation().toURI();
		} catch (URISyntaxException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}

		String pfadString = pfadURI.toString().replaceAll("jarStart.jar", "").replaceAll("file:/", "");
		
		File file = new File("pfadString + "iniDatei.ini");
 

lawila

Gesperrter Benutzer
na ... der ansatz ist doch schon mal gar nicht so verkehrt ...

lass mich versuchen dir deinen fehler auf etwas andere art klar zu machen

dein ein-zeiler hat zwei unterschiedliche ergebnisse

wenn der code in einem jar ausgeführt wird zeigt die URL (die schon korrekt mit toURI() in eine uri umwandelst) auf das JAR selbst
wenn der code außerhalb eines jar im normalen file-system ausgeführt wird zeigt die URL dann am ende auf das root-verzeichnis der klasse (also relativ zum package-pfad)

zu erkennen ist das der code innerhalb eines JAR ausgeführt wird ... ergo : der pfad den du bekommst zeigt schon auf das JAR selbst

dann machst du einen kardinal-fehler : URI.toString()
der nächste : String.replaceAll()

tipp : schau dir mal die konstruktoren von File an ... und überlege wie du zum ziel kommst ohne was mit String machen zu müssen
 

Ingerten

Bekanntes Mitglied
Morgrn Männers,

ich muss mich entschuldigen, das ich mich so spät melde, aber am Wochenende komme ich einfach nicht dazu, was am Rechner zu machen.

@fischefr
Danke erstmal für dein Tipp, aber es ist eben genau so das ich auch noch was in die Datei schreiben will.

@lawila
Ich habe dein Rat befolgt und habe das mit den Strings und dem replace raus gehauen und jetzt sieht es so aus.

Java:
URI pfadURI = null;
		URI gesuchteDatei = URI.create("Indivikar_AG.ini");
			try {
				pfadURI = ConfigINI.class.getProtectionDomain().getCodeSource().getLocation().toURI();
			} catch (URISyntaxException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}

		File filePfad = new File( pfadURI);
		filePfad = filePfad.getParentFile();

		File fileDatei = new File(filePfad + File.separator + gesuchteDatei);	
		System.out.println(fileDatei); // ausgabe ist -> D:\B3rgerTop\iniDatei.ini // die 3 ist eine Hoch 3

Mit den Umlauten findet er jetzt die Datei, aber wenn ich ein Leerzeichen rein mache wie z.b.:
D:\die datei\iniDatei.ini
dann gibt er mir nur noch das aus:
D:\die
und den Rest schneidet er einfach ab.
 

fischefr

Aktives Mitglied
Ich habs nicht ausprobiert, aber ich würde folgende Vorgehensweise probieren:

findResource(String name) des Classloaders sollte ein URI-Objekt liefern, das in deinem Fall eine Uri file://.... enthalten sollte.
Die URI-Klasse hat Methoden wie getFile(), evtl. bekommst du dann einen vernünftigen Pfad, um die Datei ganz normal zu öffnen.

Wenn du das ausprobierst, poste doch bitte Code und Zwischenergebnisse. Und verzichte bitte vorerst mal auf Sonderzeichen wie Umlaute im Pfad.
 
Zuletzt bearbeitet:

Ingerten

Bekanntes Mitglied
Vergesst meinen letzten Beitrag, es klappt alles, auch das mit den Leerzeichen.

Das war mein Fehler und sau dummer auchnoch, aber egal.

An der Stelle möchte ich mich erstmal für eure Hilfe bedanken, ich glaube ohne die Hilfe aus dem Forum
wäre ich nie fertig geworden oder hätte zumindest ein ganzes Stück mehr Zeit gebraucht.

Also dann bis zum nächsten Projekt und Danke nochmal

:toll:

PS: @fischefr
Jetzt warst du etwas schneller als ich, wie gesagt, das war mein Ding, sorry
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
O Namen (mit Umlauten und ß) in einer ArrayList suchen Java Basics - Anfänger-Themen 5
J Encoding Problem beim Einlesen einer txt Datei mit Umlauten Java Basics - Anfänger-Themen 3
J Compiler-Fehler Problem mit Umlauten Java Basics - Anfänger-Themen 19
U String.replace mit Umlauten Java Basics - Anfänger-Themen 14
N Textdatei lesen mit Umlauten Java Basics - Anfänger-Themen 16
D Zählen von Umlauten in einem String Java Basics - Anfänger-Themen 4
C probleme mit umlauten in der jar datei - aber nicht im eclipse Java Basics - Anfänger-Themen 3
D Probleme mit Umlauten Java Basics - Anfänger-Themen 7
D Ascii-Code ersetzen mit Umlauten Java Basics - Anfänger-Themen 6
G XML: Darstellungsprobleme mit Umlauten! Java Basics - Anfänger-Themen 3
S Darstellung von Umlauten Java Basics - Anfänger-Themen 24
M Java und dateien auslesen mit umlauten Java Basics - Anfänger-Themen 2
E Frage zu Umlauten ä, ü, ö, ß / Ausgeben eines Arrays Java Basics - Anfänger-Themen 14
melaniemueller setCharAt Leerzeichen zusätzlich einfügen Java Basics - Anfänger-Themen 8
A 1 Leerzeichen durch zwei Leerzeichen ersetzen Java Basics - Anfänger-Themen 4
HolyFUT Input/Output Leerzeichen aus String entfernen - klappt nicht! Java Basics - Anfänger-Themen 13
T Leerzeichen im String entfernen Java Basics - Anfänger-Themen 6
A Löschen von Leerzeichen in einem char array ohne methoden Java Basics - Anfänger-Themen 6
M Warum werden character, die Leerzeichen sind, nicht korrekt verarbeitet? Java Basics - Anfänger-Themen 2
B String nach erstem Leerzeichen trennen Java Basics - Anfänger-Themen 7
O Methode über Leerzeichen Java Basics - Anfänger-Themen 13
D jsoup get class name mit leerzeichen Java Basics - Anfänger-Themen 7
O String Methode für längste Sequenz von Leerzeichen Java Basics - Anfänger-Themen 35
J am Anfang eines String ein Leerzeichen löschen Java Basics - Anfänger-Themen 6
J Leerzeichen im Pfad automatisch erkennen Java Basics - Anfänger-Themen 30
D Leerzeichen entfernen Java Basics - Anfänger-Themen 4
P Java Leerzeichen in der Ausgabe entfernen Java Basics - Anfänger-Themen 3
Phillip Leerzeichen nach Zahlen bei Ausgabe Java Basics - Anfänger-Themen 6
M (Leerzeichen) zu einem gesuchten String Java Basics - Anfänger-Themen 4
S Leerzeichen zwischen zwei Zeichen im String entfernen Java Basics - Anfänger-Themen 19
C Aus einer Textdatei Zahlen lesen mit Leerzeichen Java Basics - Anfänger-Themen 11
P Leerzeichen in Pfad... Java Basics - Anfänger-Themen 17
T Leerzeichen zählen mit Rekursion Java Basics - Anfänger-Themen 17
H String mit Leerzeichen in Variablen zerlegen Java Basics - Anfänger-Themen 4
M String vergleichen - Leerzeichen Ignorieren? Java Basics - Anfänger-Themen 4
M nach Typenkonvertierung Leerzeichen ersetzen Java Basics - Anfänger-Themen 2
J Alle Leerzeichen aus String entfernen Java Basics - Anfänger-Themen 13
P int-Werte im String (mit Hilfe vom Leerzeichen) trennen? Java Basics - Anfänger-Themen 2
S Leerzeichen herausfiltern Java Basics - Anfänger-Themen 10
T Zeichen als Leerzeichen weitergegeben Java Basics - Anfänger-Themen 13
D Hilfe beim einlesen eines Strings mit Leerzeichen Java Basics - Anfänger-Themen 16
G Multiple Leerzeichen entfernen Java Basics - Anfänger-Themen 13
C Leerzeichen im char Array setzen Java Basics - Anfänger-Themen 33
C Stringeingabe: kein Satz wegen Leerzeichen möglich Java Basics - Anfänger-Themen 3
D Erste Schritte RandomAccessFile "Leerzeichen" löschen Java Basics - Anfänger-Themen 6
T Erste Schritte Eingelesenen Satz - Wörter und Leerzeichen getrennt in 2x Array's Java Basics - Anfänger-Themen 7
G Leerzeichen einfügen Java Basics - Anfänger-Themen 3
3 Leerzeichen erkennen Java Basics - Anfänger-Themen 3
F Leerzeichen zwischen jeden Buchstaben eines Strings einfügen Java Basics - Anfänger-Themen 16
D Wort nach Leerzeichen - String Java Basics - Anfänger-Themen 10
X nach split leerzeichen weg Java Basics - Anfänger-Themen 4
K Int Array mit "Leerzeichen" füllen Java Basics - Anfänger-Themen 2
D mehrere Leerzeichen durch 1 Leerzeichen ersetzen Java Basics - Anfänger-Themen 3
M property-Datei: key mit Leerzeichen? Java Basics - Anfänger-Themen 3
I Zeichen zählen ohne Leerzeichen Java Basics - Anfänger-Themen 3
A Leerzeichen bei Ausgabe? Java Basics - Anfänger-Themen 3
N java.util.Arrays.sort Warum sind Leerzeichen vor alphabetischen Zeichen sortiert? Java Basics - Anfänger-Themen 12
C mehrere Leerzeichen zwischen Strings Java Basics - Anfänger-Themen 4
P Probleme mit Runtime.exec und Leerzeichen Java Basics - Anfänger-Themen 15
G String in Array einfügen, leerzeichen! Java Basics - Anfänger-Themen 2
S regular expression - bekomme leerzeichen nicht raus Java Basics - Anfänger-Themen 3
O Leerzeichen aus Java Basics - Anfänger-Themen 11
P Leerzeichen-Problem bei Verzeichnispfad Java Basics - Anfänger-Themen 7
O Leerzeichen im Pfad Java Basics - Anfänger-Themen 8
M wie auf ein feld mit leerzeichen in einem char array prüfen? Java Basics - Anfänger-Themen 4
B Woerter, Zeichen, Leerzeichen zaehlen - Problem Java Basics - Anfänger-Themen 3
G Leerzeichen in String einfügen Java Basics - Anfänger-Themen 1
H wie spreche ich durch leerzeichen im string neuen index an Java Basics - Anfänger-Themen 10
F Leerzeichen in Pfadangabe beim Befehl exec() Java Basics - Anfänger-Themen 5
G Split Operation: ein oder mehrere Leerzeichen Java Basics - Anfänger-Themen 7
padde479 Runtime.getRuntime.exec() Leerzeichen unterdrücken Java Basics - Anfänger-Themen 2
M Leerzeichen löschen Java Basics - Anfänger-Themen 2
F Leerzeichen in Integer Array speichern Java Basics - Anfänger-Themen 7
I String mit Leerzeichen einlesen Java Basics - Anfänger-Themen 3
D Abfrage auf Leerzeichen Java Basics - Anfänger-Themen 5
G Im Zeichenarray Leerzeichen invertieren Java Basics - Anfänger-Themen 5
G String mit next()-Methode einlesen - keine Leerzeichen! Java Basics - Anfänger-Themen 11
S Problem beim setzen von JAVA_HOME (Leerzeichen?) Java Basics - Anfänger-Themen 7
R Am Begin und Ende eines Strings die Leerzeichen löschen ? Java Basics - Anfänger-Themen 3
M Leerzeichen in Dateinamen ein Problem ? Java Basics - Anfänger-Themen 4
F Leerzeichen in einen String einfügen. Java Basics - Anfänger-Themen 15
D ausgabe verändern (statt zeilenumbruch leerzeichen) Java Basics - Anfänger-Themen 2
S Einen langen String beim Leerzeichen in zwei Strings zerlege Java Basics - Anfänger-Themen 3
S txt-Datei nach Leerzeichen Splitten lassen! Java Basics - Anfänger-Themen 3
S Leerzeichen replacen Java Basics - Anfänger-Themen 5
F Problem mit Zeichenkette nur aus Leerzeichen Java Basics - Anfänger-Themen 4
T String Leerzeichen wegschneiden Java Basics - Anfänger-Themen 2
L Leerzeichen erfragen Java Basics - Anfänger-Themen 4
L Steuerzeichen für Space (Leerzeichen)? Java Basics - Anfänger-Themen 3
J Dateipfad mit Leerzeichen Java Basics - Anfänger-Themen 10
C Leerzeichen aus String entfernen Java Basics - Anfänger-Themen 8
A replaceAll und Leerzeichen Java Basics - Anfänger-Themen 2
W Dotenv relativer vs absoluter Pfad Java Basics - Anfänger-Themen 2
J Pfad zerlegen Java Basics - Anfänger-Themen 2
berserkerdq2 Wie gebe ich den Pfad zu einer Datei an, die in einem Ordner in Eclipse ist? Java Basics - Anfänger-Themen 1
S Längster Pfad zwischen zwei Vertices in einem Graph Java Basics - Anfänger-Themen 3
C Pfad zu Properties-File bei ResourceBundle Java Basics - Anfänger-Themen 7
CptK Richtigen Pfad beim einlesen von Datei finden Java Basics - Anfänger-Themen 2
P Möglichen Pfad überprüfen Java Basics - Anfänger-Themen 5
M Java GUI explorer aufrufen um Pfad zu bekommen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben