各位 ,大家帮我看下,不知 为什么无法创建一个文件   string strPath;
strPath=System.Environment.SystemDirectory+@"\imeName.txt";
        FileStream imeFile=new FileStream(strPath,FileMode.OpenOrCreate,FileAccess.Write);
StreamWriter sw=new StreamWriter(imeFile);
sw.BaseStream.Seek(0,SeekOrigin.Begin);
sw.WriteLine("dsdf");//写入文件内容
sw.Flush();
sw.Close();  //关闭文件
        imeFile.Close();
上面这段无法创建一个文件,而且访问还被拒绝,即使我改成明确路径也不行:@"D:\imeName.txt"; 在这个里面也没文件创建。不知为什么 ?

解决方案 »

  1.   

    asp用户没有加入到administrator组里面吧
    权限问题
      

  2.   

    权限问题,文件输出的目录必须拥有 IIS_WPG 用户的写权限写。
    比如写文件 C:\output\test_file.txt, 目录 c:\output 必须拥有 IIS_WPG用户写权限。
    同理,如果你写文件 d:\test_file.txt, d:\必须必须拥有 IIS_WPG用户写权限。
      

  3.   

    另外,这种写权限只有在 NTFS 格式中才存在。如果你是 Fat / Fat32 格式的,就不会出现这个问题。
      

  4.   

    我是NTFS格式的,但这个IIS_WPG用户写权限,这个权限在哪儿设置? 麻烦大家了。
      

  5.   

    鼠标右击目录,点击”属性“,切换到”安全“,增加一个用户 IIS_WPG, 勾上写权限
      

  6.   

    右键我的电脑-属性- 管理
    用户-选择ASP。NET 用户。然后添加成administrator
    然后再控制面板-管理工具-IIS-添加读写权限-
      

  7.   

    gong_hui2000朋友我查找了下,通过点击目标文件的属性,-->安全,,设置,没找到这个用户IIS_WPG,通过高级选择,也没有这个前缀IIS,我现在的问题是,无法写入这句strPath=System.Environment.SystemDirectory+@"\imeName.txt"; 
            FileStream imeFile=new FileStream(strPath,FileMode.OpenOrCreate,FileAccess.Write); 主要是系统目录无法访问(system32) ,不知这个权限的问题怎么解决??谢谢您了。
      

  8.   

    你是什么系统?IIS_WPG只有在Server版的系统中才有,比如Windows 2000 Server, windows 2003等
    如果是 windows XP, Windows 2000 pro 系统,只有选择 Everyone 用户了。就是一个权限问题。