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#中的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
相当令人费解.关于为什么我得到这些结果的唯一理性思考是将字节连接到字符串.
谁能在这里发现问题?
问候,
里克
大家早上好,
我正在使用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)
任何建议将不胜感激.
问候