2

エラーで困っています。私はウェブを検索しましたが、私にとって意味のある答えが見つかりませんでした. 私は基本的に一時テキストファイルを作成してそれに書き込もうとしています。エラーに関するコードは次のとおりです。

using ( StreamWriter output = new StreamWriter(File.Create(GetTemporaryDirectory())))

および getTemporaryDirectory メソッド:

 public string GetTemporaryDirectory() {
        string tempDirectory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName());
        string tempFile = Path.ChangeExtension(tempDirectory, ".txt");
        Directory.CreateDirectory(tempFile);
        return tempFile;
    }

最後になりましたが、エラー:

dir = C:\Users\Jack Givens\AppData\Local\Temp\5ftxwy31.txt タイプ 'System.UnauthorizedAccessException' の初回例外が mscorlib.dll で発生しました タイプ 'System.UnauthorizedAccessException' の未処理の例外が mscorlib.dll で発生しました追加情報: パス 'C:\Users\Jack Givens\AppData\Local\Temp\0lpe1k5t.txt' へのアクセスが拒否されました。

私のコードのどこが間違っているのか、それを修正するために何をする必要があるのか​​ を誰かが教えてくれれば、感謝します. 補足:くだらないコードでごめんなさい、私はちょっと初心者です:)

4

3 に答える 3

5
 Directory.CreateDirectory(tempFile);

名前が「*.txt」で終わるディレクトリが作成されました。

次に、まったく同じパスでファイルを作成しようとします。しかし、それは不可能です。

于 2014-10-17T20:25:13.710 に答える
3

CreateDirectoryファイル名を呼び出すFile.Createと、呼び出しようとしているパスにフォルダーが存在するようになります。行を削除するだけDirectory.CreateDirectory(tempFile);で (フォルダーが存在することが保証されているため、必要ありません)、コードが機能するはずです。

于 2014-10-17T20:25:12.823 に答える
1

ファイルではなくディレクトリを作成しています。ディレクトリをファイルとして開くことはできません。

于 2014-10-17T20:24:55.603 に答える