2

xml ファイルを解析して txt ファイルを生成するコンソール アプリケーションを開発しています。新しいファイルを保存するためのファイル パスを作成しましたが、次のように空白が含まれています。

string filePath = "C:\\Program Files\\my path\\fileName.txt"

しかし、私は次を使用してパスを作成しています:

string filePath = Path.Combine(temp, "fileName.txt");

temp は前のパスです。そして、私が電話すると:

StreamWriter sw = File.CreateText(filePath);

この例外を与えています: パスの一部が見つかりませんでした: filePath

誰かがこの問題で私を助けることができますか?? このパスでファイルを作成するにはどうすればよいですか?

4

3 に答える 3

3

ファイルパスに問題があるようです

試す@"C:\Program Files\my path\fileName.txt"

注:コメントに記載されている変更で質問を更新しました。

あなたの問題はおそらく、このコンソール アプリケーションが管理者として実行されたときに問題なく動作するため、「パス」が存在しないことです。実行しないと、 UnathorizedAccessException が発生します

class Program
{
    static void Main(string[] args)
    {
        try
        {
            var temp = @"C:\\Program Files\\my path\\";
            string filePath = Path.Combine(temp, "fileName.txt");
            StreamWriter sw = File.CreateText(filePath);
            Console.WriteLine("I got here");
        }
        catch (Exception)
        {
            Console.WriteLine("I didn't");
            //
        }

    }
}
于 2012-06-12T10:10:57.143 に答える
1

これを使って:

string filePath = @"C:\Program Files\my path\fileName.txt"
于 2012-06-12T10:11:25.317 に答える
0

文字列に単一のバックスラッシュがあります。それらを二重のバックスラッシュにします:

string filePath = "C:\\Program Files\\my path\\fileName.txt"
于 2012-06-12T10:11:08.767 に答える