2010-10-14 7 views
5

Stavo cercando di fare in modo che il programma scrivesse su un file che aveva un nome con un timestamp. Fondamentalmente, salvando un timestamp su un valore stringa, volevo che creasse il file basato su quel time stamp. Ad esempio "Flight Manifest 10/14/2010 1:38:29 AM.txt"C# posso creare un nome di file dinamico con lo streamwriter?

Qual è il modo giusto per farlo?

Ho provato qualcosa di simile:

string timeStamp = DateTime.Now.ToString(), filePath = string.Format("Flight Manifest {0}", timeStamp); 
MessageBox.Show(filePath); 

StreamWriter outputFile = new StreamWriter(filePath); 
+0

ignora la messagebox, che era solo per verificare se la stringa stava costruendo correttamente. – Sinaesthetic

+0

qual è il tuo problema? dopo questo devi solo scrivere nel tuo stream e disporlo –

+0

dicendo "Il formato del percorso dato non è supportato". – Sinaesthetic

risposta

9

Probabilmente un modo migliore di aggiungere timestamp al nome del file potrebbe essere quella di convertire il datetime di stringa utilizzando un formato e aggiungere al nome del file. Un esempio è riportata qui sotto -

string datetimeString = string.Format("{0:yyyy-MM-dd_hh-mm-ss-tt}.txt",DateTime.Now); 

se non usare stringa di formato, poi ci saranno personaggi come '/' e ':' che non sono supportati per la denominazione di un file.