Datei auf Dektop mit timestamp Speichern

youngster

Aktives Mitglied
Ich versuche eine Datei zu schreiben die so aussehen soll: 20110413-1600-Test.txt und das auf dem Dektop des aktuellen Nutzers.
Für den timestamp habe ich folgendes Versucht:
Java:
Calendar date = new GregorianCalendar();
		pptr.write(date.get(Calendar.YEAR) 
+ date.get(Calendar.YEAR) + date.get(Calendar.DAY_OF_MONTH) + 
date.get(Calendar.HOUR) + date.get(Calendar.MINUTE) + 
date.get(Calendar.SECOND) + "Test.txt");
Leider bekomme ich lediglich 4 Zahlen vor meinem Test.txt

Für den Desktop weiss ich, dass man den User ermitteln kann mit:
Java:
String temp = System.getProperty("user.name");
Muss ich mir dann den Pfad zusammebauen, z.B.: "C:\Documents and Settings " + temp + "\Desktop" oder gibt es eine andere Lösung.
Vielen Dank.
 
schreib grad vom iPhone also kann ich nicht mit links dienen. für den timestamp nimmst's am besten simpledateformat. damit ist das ein Einzeiler. und für den Desktop könnte user.dir helfen

edit: bzw. eher user.home
 
Zuletzt bearbeitet:
für den Desktop sollte folgender Code evtl auch funktionieren, jenachdem was das -homedirectory- liefert.

Java:
String homeDirectory= javax.swing.filechooser.FileSystemView.getFileSystemView().getHomeDirectory().getAbsolutePath();

und zum anderen würde ich den rat von nrg beachten, zumindest aber deinen Versuch mit [c]""[/c] ergänzen, denn ansonsten liefern die [c]cal.get(int field)[/c]-Methoden einen int zurück, die du durch die Pluszeichen imho nur addierst.

Java:
date.get(Calendar.YEAR) +""+ date.get(Calendar.DAY_OF_MONTH) + "" + //usw

// oder den Vorschlag von nrg:
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd-HHmm-");
		sdf.format(new Date());
 
Zuletzt bearbeitet:
Besten Dank für eure schnelle Antworten, funktioniert nun alles. Anbei der Code, falls ihn noch jemand nutzen mag:
Java:
String s;
        Format formatter;
        Date date = new Date();
		formatter = new SimpleDateFormat("yyyyMMdd-HHmmss");
        s = formatter.format(date);
        String homeDirectory = javax.swing.filechooser.FileSystemView.getFileSystemView().getHomeDirectory().getAbsolutePath();
        pptr.write(homeDirectory + "\\Test_" + s + ".txt");
        System.out.println(homeDirectory);
 
für die Plattformunabhängigkeit:

Java:
pptr.write(homeDirectory + File.separator + "Test_" + s + ".txt");
 

Zurück
Oben