0

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

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:路径中有非法字符。

我究竟做错了什么?

4

3 回答 3

2

试试 "c:\\temp" - "c:\temp" 是字符串 [c] [:] [tab character] [e] [m] [p] 这几乎肯定不是你想要的文件名!

于 2013-01-08T20:33:55.077 回答
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);

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

于 2013-01-08T20:37:04.373 回答
0

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

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

\t是制表符的字符。

于 2013-01-08T20:33:44.273 回答