0

こんにちは、ファイルをドキュメント\テストに保存するプログラムを作成したいと考えています。ファイルは.exeです。なんらかの理由で、アクセス拒否エラーが発生しました.txtファイルを保存しようとしてプログラムをテストしたとき(StreamWriterを使用)、プログラムは問題なく動作しました。私を助けてください。

次のコードはエラーをスローします

byte[] myfile = Properties.Resources.WallPaper;
        string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
        string path2 = path + @"\" + "test";
        System.IO.Directory.CreateDirectory(path2);
        File.WriteAllBytes(path2, myfile);

次のコードは、.txt ファイルを保存するときに正常に動作します

string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
        string path2 = path + @"\" + "test";
        System.IO.Directory.CreateDirectory(path2);
        StreamWriter file = new StreamWriter(path2 + @"\" + "text.txt");
4

2 に答える 2

2

あなたの2つの例は同じではありません。System.IO.Directory.CreateDirectoryという名前のディレクトリが既に作成されているため、最初の例は機能しませんtest。そのディレクトリをファイルのように上書きすることはできません。例 1 を例 2 のように動作させるには:

System.IO.Directory.CreateDirectory(path2)
File.WriteAllBytes(path2 + @"\" + "text.txt", myfile)
于 2013-06-08T07:45:54.283 に答える
0

私はexeファイルに書き込もうとしたことはありませんが、すでにアクセス許可を設定しようとしましたか? C#にそれを行うメソッドが存在するかどうかはわかりませんが、確かに「exec」が存在するため、それを使用してchmodコマンドを送信できます

于 2013-06-08T07:47:20.487 に答える