Java Wie Dateipfad unter Linux angeben

DerZock

Lieutenant
Dabei seit
Mai 2009
Beiträge
854
Stehe gerade etwas aufm Schlauch.
Ich habe ein Programm geschrieben das am Ende eine .txt Datei erstellt. Das ganze befindet sich nun unter Linux auf einem Apache Tomcat Server.
Jetzt weiß ich nicht wie ich den Pfad meiner Datei im Code anpassen soll, so dass diese auch erstellt wird.
Hier mal ein Ausschnitt:

SimpleDateFormat sd = new SimpleDateFormat("HH.mm-dd.MM.yyyy");
String datum = sd.format(new Date()).toString();
String dateiName = "D:/MVPEditor_" + datum + ".txt";

unter Windows hats so geklappt ;)

Aber wie muss ich den Pfad jetzt anpassen damit die Datei unterhalb von root im Ordner srv/MVPEditor erstellt wird. :confused_alt:

String dateiName = "/srv/MVPEditor/MVPEditor_" + datum + ".txt";
funktioniert nicht!
 

SheepShaver

Captain
Dabei seit
Nov. 2004
Beiträge
3.663
Erstmal musst du sicherstellen, dass dein Programm in besagtem Zielordner Schreibrechte hat. Zweitens sollte man eigentlich nicht hartkodierte Separatoren verwenden, sondern File.separator, auch wenn es nicht der Auslöser für dein Problem ist.
Ohne Stacktrace ist es aber schwer, weiterzuhelfen. Welche Exception wird denn genau geworfen?
 

DerZock

Lieutenant
Ersteller dieses Themas
Dabei seit
Mai 2009
Beiträge
854
also Schreibrechte sind vorhanden.
Exception bekomme ich keine, da ich das Programm einfach aufm Server ausführe.

Es müsste eigentlich nur am Pfad liegen meiner Meinung nach.

Ist denn der Pfad so richtig, also mit den / oder sollten man \ verwenden?
Wie gebe ich den absoluten Pfad an? Ich habe ja keine Laufwerke wie in Windows.
Wenn ich vor dem Ordner srv ein / schreibe (/srv) geht das denn von root aus?
Hab von linux nicht so die Ahnung (noch nicht^^).
 

SheepShaver

Captain
Dabei seit
Nov. 2004
Beiträge
3.663
Du verwendest weder '/' noch '\', sondern File.separator.

Füge um deinen Code einen try-catch-Block hinzu und mach e.printStackTrace(), wenn du wissen willst, welche Exception auftritt und du keine Möglichkeit zum Debuggen hast.
 

Dese

Commodore
Dabei seit
Jan. 2007
Beiträge
4.429
also deine pfad angabe ist korrekt.

anführendes "/" beginnt im root, also oberste ebene. ohne anführendes "/" bist du relative zur aktuellen position.

d.h. was du oben angegeben hast scheint korrekt, sofern es die genantnen verzeichnisse gibt (groß/kleinschreibung beachten).
evtl darfst du aber in dem verzeichnis keine datei erstellen, oder die datei existiert bereits, oder du verwendest falsche paramter bei der funktion zum erstellen/öffnen.

an deiner pfad angabe liegt es jedenfalls nicht.
 

DerZock

Lieutenant
Ersteller dieses Themas
Dabei seit
Mai 2009
Beiträge
854
habs hinbekommen. Es lag wohl doch an den Datei bzw. Ordnerrechten. Nachdem ich sie noch mal neu gesetzt habe funktioniert nun alles :)
Vielen Dank für die Hilfe.
 

Dese

Commodore
Dabei seit
Jan. 2007
Beiträge
4.429
ha!

sorry :D
 
Top