# Dateiname mit Uhrzeit



## Lunzerr (18. Aug 2009)

Hallo, ich würde gerne eine txt-Datei erstellen, deren Name das aktuelle Datum beinhaltet. 

Ich hab mir das Datum geholt und in nem String gespeichert, jedoch kann ich diesen nicht einfach so in den Pfad einbinden: "..../test"+ date +"...."txt

Habt ihr eine Idee?

Danke


----------



## SlaterB (18. Aug 2009)

nicht, weil?


----------



## Gonzo17 (18. Aug 2009)

Lunzerr hat gesagt.:


> Ich hab mir das Datum geholt und in nem String gespeichert, jedoch kann ich diesen nicht einfach so in den Pfad einbinden: "..../test"+ date +"...."txt



Wieso genau kannst du nicht? Wenn es ein String ist, dann müsste das theoretisch klappen. Kriegst du ne Exception, wenn du die Datei dann speicherst?


----------



## Coder09 (18. Aug 2009)

Also ich habe auch noch nicht so die Ahnung, aber wenn du die Datei erstellst:


```
datei = new File(datum".txt");
```
 oder nicht?


----------



## Lunzerr (18. Aug 2009)

Hier mal ein Code-Ausschnitt: 

String g = getDateTime();


	    	String path = "i:/Ordner1/Ordner2/"+ g +"Testdatei.txt";

Die Datei wird aber einfach nicht erstellt. Wenn ich das "+g+" weglasse wird die Datei Testdatei erstellt.


----------



## Verjigorm (18. Aug 2009)

mal das g per println() ausgegeben?


----------



## Coder09 (18. Aug 2009)

kann es an den leerzeichen liegen?

```
String path = "i:/Ordner1/Ordner2/"+g+"Testdatei.txt";
```


----------



## bygones (18. Aug 2009)

Coder09 hat gesagt.:


> kann es an den leerzeichen liegen?
> 
> ```
> String path = "i:/Ordner1/Ordner2/"+g+"Testdatei.txt";
> ```


nein ;-)


----------



## Coder09 (18. Aug 2009)

bygones hat gesagt.:


> nein ;-)


ok ich bin still. wollte nur auch mal helfen


----------



## bygones (18. Aug 2009)

Verjigorm hat gesagt.:


> mal das g per println() ausgegeben?



mach das mal ... denn 

```
public static void main(String[] args) throws Exception {
        Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
        PrintWriter writer = new PrintWriter("test" + format.format(date) + ".txt");
        writer.close();
    }
```
klappt


----------



## Lunzerr (18. Aug 2009)

@ Verjigorm:

Was meinst du mit das g per println() ausgeben?


----------



## Lunzerr (18. Aug 2009)

komischer weise: wenn ich schreibe:

String g="hallo";

und den rest, dann nimmt er den String mit rein


----------



## bygones (18. Aug 2009)

Lunzerr hat gesagt.:


> @ Verjigorm:
> 
> Was meinst du mit das g per println() ausgeben?


[c]System.out.println(g);[/c]


----------



## Lunzerr (18. Aug 2009)

ah zu spät gelesen, moment ich probiers aus


----------



## Lunzerr (18. Aug 2009)

Grrr... ich Noob
Bekomms nich gebacken, den Schnipsel richtig in meinen Code einzubinden.

Fehler:
unreported Exception java.io.FileNotFoundException;

Hier mal ein größerer Ausschnitt des Codes:

   public void Test() throws InterruptedException {

	Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
        PrintWriter writer = new PrintWriter("i:/Ordner1/Ordner2/test" + format.format(date) + ".txt");
        writer.close();


        browser.open("/"); // relative URL is correct idiom for open()

    }

Hoffe ihr seht was ich falsch mache


----------



## 0din (18. Aug 2009)

gibt die exception nich mehr aus?
ne line in ders schief geht oder so...?

Mein tipp...
die fehlt nen / ;-)

```
"i:/Ordner1/Ordner2/test" + format.format(date) + ".txt" 
"i:/Ordner1/Ordner2/test/" + format.format(date) + ".txt"
```

sonst versuchst du eine datei: testDATUM.txt in den Ordner2 zu machen.


----------



## Leroy42 (18. Aug 2009)

Lunzerr hat gesagt.:


> Bekomms nich gebacken, den Schnipsel richtig in meinen Code einzubinden.




```
public void Test() throws InterruptedException {
	    
	Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");

        System.out.println(format.format(date));

        ...	
    }
```


----------



## Lunzerr (18. Aug 2009)

@ Leroy: Ich will nicht dass mein Programm das Datum ausgibt, sondern dass der Dateiname das datum beinhaltet. :rtfm:


----------



## 0din (18. Aug 2009)

Das wissn wir ;-)

es geht darum zu sehn was genau da drinne steht... also ob der fehler vllt in dem string steckt un dazu musstn nunma sehn


----------



## Leroy42 (18. Aug 2009)

Lunzerr hat gesagt.:


> @ Leroy: Ich will nicht dass mein Programm das Datum ausgibt, sondern dass der Dateiname das datum beinhaltet. :rtfm:




?? 

Es geht darum, anzuzeigen, ob dein Dateiname auch korrekt gebildet wird. 

Also:

System.out.println("i:/Ordner1/Ordner2/test" + format.format(date) + ".txt");

zur Überprüfung welchen Wert du  überhaupt als Argument an PrintWriter übergibst.


----------



## Lunzerr (18. Aug 2009)

omg achso . 
Also hier mal der Schnipsel von dem ich das Datum beziehe

     private String getDateTime() {
	Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
        return format.format(date);
    }

Wenn ich in meine Hauptklasse jetzt nun den Schnipsel hier integriere:

PrintWriter writer = new PrintWriter("i:/Onlinemaerkte/Selenium RC Logs/test" + format.format(date) + ".txt");
writer.close();

..erhalte ich eine Fehlermeldung.  Dont know why. :autsch:


----------



## Lunzerr (18. Aug 2009)

ps: das "test" mit im dateinamen steht ist gewollt.


----------



## Leroy42 (18. Aug 2009)

Ja und was erzeugst du nun eigentlich?

Darum sollst du den erzeugten String doch mal auf der Konsole ausgeben. ;(


----------



## Leroy42 (18. Aug 2009)

Lunzerr hat gesagt.:


> ps: das "test" mit im dateinamen steht ist gewollt.



Hatte ich auch schon vermutet!


----------



## Lunzerr (18. Aug 2009)

Ok habs jetz hinbekommen. 
Hab zusätzlich einfach in der main Klasse

String g = getDateTime();

hinzugefügt und damit wird mit

String path = "i:/Ordner1/Ordner2/"+ g +"test.txt";

Das Datum mit einbezogen.

Danke an bygones und alle andern


----------



## bygones (19. Aug 2009)

mal ne dumme frage... die Struktur schaut nach einem Windowssystem aus, doch windows kennt \ statt / als trenner

schonmal "I:\\Ordner1\\Ordner2\\"... ausprobiert?


----------



## Verjigorm (19. Aug 2009)

File.separatorChar() macht das ganze wie von Zauberhand plattformunabhängig


----------

