我正在尝试为我的实习制作一些Windows-Forms测验应用程序,但我仍然坚持将结果保存到保存文件中。这是我使用的代码:
string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
System.IO.File.WriteAllLines(desktopPath + @"\saveFile_" + DateTime.Now.ToString() + ".txt", saveFile);
当我单击按钮保存到新的文本文件时,它会崩溃并告诉我不支持路径格式。
如何更正它以便将其保存到桌面上的新文本文件中?
答案 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:00
是invalid file name character所以你需要摆脱它,例如通过手动格式化时间戳:
:
另外,我建议不要使用string filename = "saveFile_" + DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + ".txt"
来构建路径,还有一个内置函数:
+
答案 1 :(得分:0)
只需用短划线替换斜杠:
DateTime.Now.ToString().Replace("/", "-");