質問者
バイナリデータの保存について

質問
-
いつもお世話になっております。バイナリデータをファイル(bta,binなどの)保存をしたいのですが、なかなかうまくいきません。
下記のようにしたら
パス "C:\WINNT\system32\testhong.bta" へのアクセスが拒否されました。
エラーが出現します。解決の方法を教えていただけますでしょうか?
宜しくお願いします。
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.TextBox TextBox1;
byte[] bytes;private void Page_Load(object sender, System.EventArgs e)
{
string str = "あいうえお";Encoding sjisEnc = Encoding.GetEncoding("euc-jp");
bytes = sjisEnc.GetBytes(str);
TextBox1.Text = BitConverter.ToString(bytes);
// 出力:A4-A2-A4-A4-A4-A6-A4-A8-A4-AA
}private void Button1_Click(object sender, System.EventArgs e)
{
FileStream fs = new FileStream("testhong.bin", FileMode.OpenOrCreate);
fs.SetLength(0);
BinaryWriter w = new BinaryWriter(fs);
w.BaseStream.Seek(0,SeekOrigin.Begin);
w.Write(bytes);
w.Close();
fs.Close();}
すべての返信
-
プログラムの前に調べなくてはならないことがあります。
今使っているOSとログオンしているユーザの権限はなんでしょうか(WINNTだからWindows 2000かな)?また、CドライブはNTFSでフォーマットされているでしょうか?
NTFSでフォーマットされている場合、system32ディレクトリへのファイル追加はadministrator権限が必要になるはずです(古いSPから更新していたり、FAT→NTFS変換した場合はその限りではないこともあります)。既にあるファイルへの更新ならPower Userでも大丈夫です。
一度c:\winnt\system32ディレクトリのファイル(なんでもいいです)のプロパティを開いて、セキュリティタブをみてください。