首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

删除服务器上的文件解决方法

2012-01-18 
删除服务器上的文件上传到服务器上的文件,怎么在程序中删除?因为那些文件都变成了只读文件,所以无法用File

删除服务器上的文件
上传到服务器上的文件,怎么在程序中删除?因为那些文件都变成了只读文件,所以无法用File.Delete删除。

[解决办法]
更改文件属性,删除只读文件:
下例欲将E:\test.txt文件拷贝至D:\tmp\test.txt,但D:\tmp\test.txt已经存在。
//File.Copy(sourceFile,destinationFile,true); 用来拷贝文件
//当destinationFile已经存在时,无法将文件file1拷贝到目标文件,
//因此先删除destination文件,File.Delete()方法不能删除只读文件,
//因此,如果文件属性为只读(Attributes属性中会包含有 "ReadOnly "),
//先把文件属性重置为Normal,然后再删除:
string file1= "E:\\test.txt ";
string destinationFile= "d:\\tmp\\test.txt ";
if(File.Exists(destinationFile))
{
FileInfo fi=new FileInfo(destinationFile);
if(fi.Attributes.ToString().IndexOf( "ReadOnly ")!=-1)
fi.Attributes=FileAttributes.Normal;
File.Delete(destinationFile);
}
File.Copy(file1,destinationFile,true);

热点排行