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

获取文件信息出现UnauthorizedAccessException错误

2013-12-02 
获取文件信息出现UnauthorizedAccessException异常截取出问题的一段,想要获得文件的大小,请问有没有什么方

获取文件信息出现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"))
{} //因为,可能同时拥有多个属性

热点排行