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

ファイル名に不正な予約文字がいくつかあります。'/'と'\'はその2つです。

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 に答える