0
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:\ 或任何包含/或可能的文件中\

4

3 回答 3

6

文件名中有几个非法的保留字符。'/' 和 '\' 是其中的两个。

以下是来自 MSDN 的文件命名指南:http: //msdn.microsoft.com/en-us/library/windows/desktop/aa365247 (v=vs.85).aspx#naming_conventions

于 2012-08-18T19:12:49.257 回答
3

您使用的斜杠是文件名的无效字符。

于 2012-08-18T19:11:43.660 回答
2

用有效字符替换无效字符。您可以为此使用Path.GetInvalidFileNameChars

var invalidChars = Path.GetInvalidFileNameChars();
var newFileName = new string(
                        fname.Select(c=>invalidChars.Contains(c)?'_':c).ToArray());
于 2012-08-18T19:32:23.313 回答