读书人

获取文件信息出现UnauthorizedAccessE

发布时间: 2013-12-02 12:00:40 作者: rapoo

获取文件信息出现UnauthorizedAccessException异常
获取文件信息出现UnauthorizedAccessException错误截取出问题的一段,想要获得文件的大小,请问有没有什么方法加个IF语句半段d.fullname的属性是否非只读?

private void Form3_Load(object sender, EventArgs e)
{
string path;
textBox1.Text = DriveInfo.GetDrives()[g].Name;
path = DriveInfo.GetDrives()[g].Name;
DirectoryInfo files = new DirectoryInfo(path);
DirectoryInfo[] dinfo = files.GetDirectories();
try
{

foreach (DirectoryInfo d in dinfo)
//if(File.Open(d.FullName, FileMode.Open).
{

File.SetAttributes(d.FullName, FileAttributes.Normal);
dataGridView1.Rows.Add(
d, File.Open(d.FullName, FileMode.Open).Length
);
}
}
catch (UnauthorizedAccessException x)
{
MessageBox.Show("NO ACCESS");

}

[解决办法]
可以判断文件类型的:
FileInfo f = new FileInfo(d.FulName);
if(f.Attributes!=FileAttributes.ReadOnly)
{}
或者
string[] fileArray = f_fa.ToString().Split(',');
if(!fileArray.Contains("ReadOnly"))
{} //因为,可能同时拥有多个属性

读书人网 >C#

热点推荐