不支持c#路径格式writealllines

时间:2017-01-30 09:33:42

标签: c# winforms

我正在尝试为我的实习制作一些Windows-Forms测验应用程序,但我仍然坚持将结果保存到保存文件中。这是我使用的代码:

string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);

System.IO.File.WriteAllLines(desktopPath + @"\saveFile_" + DateTime.Now.ToString() + ".txt", saveFile);

当我单击按钮保存到新的文本文件时,它会崩溃并告诉我不支持路径格式。

如何更正它以便将其保存到桌面上的新文本文件中?

2 个答案:

答案 0 :(得分:3)

func getVideoThumbNail(_ videoName: String) -> UIImage { do { let url = URL(fileURLWithPath: getDocumentsDirectory().appendingPathComponent(videoName)) let asset = AVURLAsset(url: url, options: nil) let imgGenerator = AVAssetImageGenerator(asset: asset) imgGenerator.appliesPreferredTrackTransform = true let cgImage = try imgGenerator.copyCGImage(at: CMTimeMake(2, 3), actualTime: nil) return UIImage(cgImage: cgImage) } catch let error as NSError { print("\(ERROR_GENERATING_THUMNAIL): \(error)") } return ERROR_GENERATING_THUMNAIL } func getDocumentsDirectory() -> NSString { let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true) return paths[0] as NSString } 会生成类似于DateTime.Now.ToString()30.01.2017 10:30:00的字符串。

01/30/2017 10:30:00invalid file name character所以你需要摆脱它,例如通过手动格式化时间戳:

:

另外,我建议不要使用string filename = "saveFile_" + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + ".txt" 来构建路径,还有一个内置函数:

+

答案 1 :(得分:0)

只需用短划线替换斜杠:

DateTime.Now.ToString().Replace("/", "-");