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] [:] [タブ文字] [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 に答える