小编Ric*_*Ric的帖子

UnauthorizedAccessException无法解析Directory.GetFiles失败

Directory.GetFiles方法在第一次遇到没有访问权限的文件夹时失败.

该方法抛出一个UnauthorizedAccessException(可以捕获),但到此时,该方法已经失败/终止.

我正在使用的代码如下:

try
{
    // looks in stated directory and returns the path of all files found                
    getFiles = Directory.GetFiles(
        @directoryToSearch, 
        filetype, 
        SearchOption.AllDirectories);             
}
catch (UnauthorizedAccessException) 
{ 
}
Run Code Online (Sandbox Code Playgroud)

据我所知,没有办法事先检查某个文件夹是否具有定义的访问权限.

在我的示例中,我正在通过网络搜索磁盘,当我遇到仅限root访问权限的文件夹时,我的程序失败了.

c# exception-handling getfiles unauthorized

22
推荐指数
3
解决办法
3万
查看次数

Visual C#中用户控件的用途是什么?

用户控制 - 它们是否有特殊用途?

据我所知,它们与表单没有什么不同 - 它们具有相同的工具箱和功能.

是否有某些时候它们适合用于表格?了解它们有什么好处会很有趣.

c# user-controls

8
推荐指数
3
解决办法
1万
查看次数

每次C#的相同未更改文件的MD5文件哈希都不同

晚上好,

我一直在使用C#中的MD5工具来获取文件,浏览我的Hasher类并将结果弹出数据库,以及文件名和目录.

我遇到的问题是,每次运行测试时,相同文件的MD5结果(即以任何方式保持不变)都是完全不同的.

以下是我使用的代码

HashAlgorithm hmacMd5 = new HMACMD5(); 
byte[] hash;
try
{
    using (Stream fileStream = new FileStream(fileLocation, FileMode.Open))
    {
        using (Stream bufferedStream = new BufferedStream(fileStream, 5600000))
        {
            hash = hmacMd5.ComputeHash(bufferedStream);
            foreach (byte x in hash)
            {
                md5Result += x;
            }
        }
    }
}
catch (UnauthorizedAccessException uae) { }

return md5Result;
Run Code Online (Sandbox Code Playgroud)

以下是hello.mp2的3个单独运行的结果:

1401401571161052548110297623915056204169177

16724366215610475211823021169211793421

56154777074212779619017828183239971

相当令人费解.关于为什么我得到这些结果的唯一理性思考是将字节连接到字符串.

谁能在这里发现问题?

问候,

里克

hash md5

6
推荐指数
1
解决办法
2535
查看次数

MD5文件处理

大家早上好,

我正在使用C#中的MD5文件完整性检查工具.

为文件提供MD5校验和值需要多长时间?例如,如果我尝试获取2gb .mpg文件,则每次约需5分钟.这似乎过长了.

我只是不耐烦吗?

下面是我正在运行的代码

public string getHash(String @fileLocation)
    {
        FileStream fs = new FileStream(@fileLocation, FileMode.Open);

        HashAlgorithm alg = new HMACMD5();
        byte[] hashValue = alg.ComputeHash(fs);

        string md5Result = "";

        foreach (byte x in hashValue)
        {
            md5Result += x;
        }           

        fs.Close();           

        return md5Result;           
    }
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激.

问候

c# hash md5 integrity

1
推荐指数
1
解决办法
2839
查看次数