为什么会出现“路径中的非法字符”错误?

时间:2013-01-08 20:32:10

标签: asp.net-mvc-3

我正在尝试将数据保存到这样的文件中:

FileStream file = new FileStream("c:\temp", FileMode.Create, System.IO.FileAccess.Write);
        byte[] bytes = new byte[file.Length];
        file.Read(bytes, 0, (int)file.Length);
        file.Write(bytes, 0, bytes.Length);
        file.Close();
        file.Close();

我收到了这个错误:

路径中的非法字符。 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.ArgumentException:路径中的非法字符。

我做错了什么?

3 个答案:

答案 0 :(得分:2)

尝试“c:\\ temp” - “c:\ temp”是字符串[c] [:] [制表符] [e] [m] [p],这几乎肯定不是你想要的文件名!

答案 1 :(得分:1)

使用以下任意一种

FileStream file = new FileStream(@"c:\temp", FileMode.Create, System.IO.FileAccess.Write);
FileStream file = new FileStream("c:\\temp", FileMode.Create, System.IO.FileAccess.Write);

'\'是一个转义字符,所以你不能直接使用它

答案 2 :(得分:0)

您需要转义文件路径中的反斜杠:

 FileStream("c:\\temp", ...

\t是标签的字符。