void addFile(string aFile)
{
using (StreamWriter sw = new StreamWriter(@"C:\"+ aFile))
sw.WriteLine("Some Text");
}
如果文本包含/
字符,则会收到无法找到此类目录的错误。
示例:aFile="1/2 Half.c"
=> C:/1/2 Half.c
=>目录1不存在。
如何将字符串"1/2 Half.txt"
放在C:\或包含/
或\
的任何文件中?
答案 0 :(得分:6)
有几个保留字符在文件名中是非法的。 '/'和'\'是其中两个。
以下是MSDN中文件命名的准则:http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#naming_conventions
答案 1 :(得分:3)
您使用的斜杠是文件名的无效字符。
答案 2 :(得分:2)
将无效字符替换为有效字符。您可以使用Path.GetInvalidFileNameChars。
var invalidChars = Path.GetInvalidFileNameChars();
var newFileName = new string(
fname.Select(c=>invalidChars.Contains(c)?'_':c).ToArray());