我用C#写了一个生成文件的小方法,部分代码如下:
string path = Server.MapPath("js/123.js");
if(File.Exists(path))
{
File.Delete(path);
} StreamWriter sw = File.CreateText(path);
Random rd = new Random();
sw.WriteLine(rd.Next().ToString().Trim());
sw.Close();
现在遇到一个问题,如果该文件为只读,程序运行到该句报异常File.Delete(path),如何改变生成文件的属性?将其属性设置为win2003中everyone中“完全控制”?
求各位帮忙,希望帖子不要沉下去!!!!谢谢大家了!!!!!(我没权利发300分,要是有满意答案,我再发帖补上分数!!!)
string path = Server.MapPath("js/123.js");
if(File.Exists(path))
{
File.Delete(path);
} StreamWriter sw = File.CreateText(path);
Random rd = new Random();
sw.WriteLine(rd.Next().ToString().Trim());
sw.Close();
现在遇到一个问题,如果该文件为只读,程序运行到该句报异常File.Delete(path),如何改变生成文件的属性?将其属性设置为win2003中everyone中“完全控制”?
求各位帮忙,希望帖子不要沉下去!!!!谢谢大家了!!!!!(我没权利发300分,要是有满意答案,我再发帖补上分数!!!)
解决方案 »
- 动态生成的datagridview怎么显示表头?
- 菜鸟 跪求一个 弱弱的 关于调试出错问题 的答案
- 两个问题,帮我看看代码!
- 这种类似于状态栏效果如何实现啊?
- linq如何安装到中文VS2005里面
- js我用window.opener.location.href=window.opener.location.href;怎么更新不了父页面.
- DataAdapter的TableMappings具体是怎么使用的
- 关于textbox中值重复的问题
- 有关"事件访问器"的问题?看源码
- 调整窗体时,如何让DataGrid中的数据列跟着改变,自动适应窗体大小
- 淘宝大师机器人已经更新到V1.1,测试很完美!
- C#如何使用webBrowser加载Word文档
{
FileInfo fi=new FileInfo(destinationFile);
if(fi.Attributes.ToString().IndexOf("ReadOnly")!=-1)
fi.Attributes=FileAttributes.Normal;
File.Delete(destinationFile);
}
这个应该可以修改只读属性将其属性设置为win2003中everyone中“完全控制”这个似乎是设置访问权限,与只读/非只读无关吧
void AddFullControl(string filename) {
FileSecurity fs = File.GetAccessControl(filename);
fs.AddAccessRule(new FileSystemAccessRule("Everyone", FileSystemRights.FullControl, AccessControlType.Allow));
File.SetAccessControl(filename, fs);
}注意,如果你是在asp.net下运行, 要在IIS的目录权限中加入匿名访问, 并且设置高级账号(至少有目录访问权限的账号)
你可以在web.config中加入
<system.web>
<identity impersonate="true" userName="[高级账号名]" password="password" />
</system.web>
在远程IIS上,一般都有足够权限删除你自己目录下的文件的。
<identity impersonate="true" userName="[高级账号名]" password="password" />
</system.web>