我用VS 2005写了一个程序,功能就是对文件操作的,在 XP下运行正常,但在2000下运行时就提示“拒绝访问".
路径都是正常的,且两个同样的文件同样的路径,第一个能执行成功,第二个却不行:File.CreateText(filename);  这一步就不行了,但用File.copy(sourcefile,filename)却可以。File.AppendText(str); 这一步一直就是拒绝访问权限是正常的,
filename的路径是映射的网络盘。在XP下验证通过的。

解决方案 »

  1.   

    我用File.copy是正常的,而且用directory.create也可以创建目录,就是不能创建文件和写文件
      

  2.   

    看看你的盘是什么格式ntf还是fat?
      

  3.   

    CreateText 建立的是不是空的文件?0字节的?
      

  4.   

    查一下你的盘的格式,如果是NTFS的话应该就是权限的问题了,NTFS需要你对每个子文件都设置权限才能访问;如果是FAT格式,并且权限都正常还出现这样问题的话,那就好好查下在2000下是不是少什么动态库之类的
      

  5.   

    NTFS 把文件夹增加EVERYONE用户行了
      

  6.   

    可以肯定,我的网络盘的格式不是FAT,也不是NTFS,是NW。。的(Novell系统用的)
      

  7.   

    可以肯定,我的网络盘的格式不是FAT,也不是NTFS,是NW。。的(Novell系统用的)
    同样的方法,用c++ Builder却可以做到
      

  8.   

    这大概不是什么权限问题。大概是文件流还未来得及关闭你就Append了.你尝试使用FileStream来读写文件.记得读写完了要马上!立即!迅猛!关闭文件流!这样可能会解决问题.对了.把你的防毒软件关了. 因为他也有可能是你写入不了的原因(他在查毒查到你的文件就给你锁上了)
                StreamReader reader = new StreamReader("C:\\Windows\\System32\\eula.txt",Encoding.UTF8);
                String 文件内容=reader.ReadToEnd();
                reader.Close();            StreamWriter writer = new StreamWriter("C:\\Windows\\System32\\eula.txt",true);
                writer.Write(文件内容+"\n\n======================\n以上为废话,结束。");
                writer.Close();
      

  9.   

    用FileStream来试试 stream = new FileStream(currentPath + "Configurations.xml", FileMode.Open, FileAccess.Read, FileShare.Read);
      

  10.   

    呵呵,在C#里面关于文件的操作都试过了,可惜现象一样。
    现在只能先用VC++写的一个dll来替换了。
    虽然效果达到了,可惜这个问题还是没解出来。