3

これにはおそらく簡単な答えがありますがDateTime.Now.ToString()、fileNameに追加すると、\ごとに追加の\が追加され、ファイルが保存されなくなりますC:\TempC:\\Temp

これは問題のコードです

String fileName = @"C:\Temp\data_" + DateTime.Now.ToString() + ".txt";

たとえば、出力は次のようになります。C:\\Temp\\data_12/04/2012 20:08:40.txt

そのはずC:\Temp\data_12/04/2012 20:08:40.txt

4

5 に答える 5

10

いいえ、その文字列には実際に単一のバックスラッシュが含まれています。コンソールに出力すると、それが表示されます。

デバッガーでこれを見ると、バックスラッシュがエスケープされていることがわかりますが、文字列自体にはバックスラッシュが 1 つ含まれています。これは多くの人を刺します:(

于 2012-04-12T19:29:15.327 に答える
9

ファイル名で不正なのは実際にはスラッシュです。スラッシュを適切なものに置き換えて、もう一度やり直してください。

于 2012-04-12T19:30:01.003 に答える
0
String fileName = String.Format(@"C:\Temp\data_{0}.txt",DateTime.Now.ToString("ddMMyyyyHHmmss"));

出力:C:\Temp\data_12042012214358.txt

または使用

String fileName = String.Format(@"C:\Temp\data_{0}.txt", DateTime.Now.ToString("dd.MM.yyyy HH-mm-ss"));

出力:C:\Temp\data_12.04.2012 21-45-03.txt

于 2012-04-12T19:32:04.323 に答える
0

フォーマットを設定してみてください:

String fileName = @"C:\Temp\data_" + DateTime.Now.ToString("MM d HH mm yyyy") + ".txt";
于 2012-04-12T19:32:28.837 に答える
0

実際には、\ がエスケープされているため、変数値に 2 つのバックスラッシュが表示されます。変数の値を表示すると、バックスラッシュが 1 つしかないことがわかります。

于 2012-04-12T19:34:57.140 に答える