我有一个c#程序,它可以读取目录并复制所选文件。它的工作时间很好99.9%,但偶尔文件名是乱码(据我所知,长度返回不正确)。
如果我重新运行,通常可以正确找到该文件
该文件位于网络驱动器上,因此我怀疑该网络是问题的一部分。任何人都可以想到这个的原因,或者至少是在尝试复制文件之前检测问题的方法吗?我找到了带有Directory.Enumerate命令的文件,找到的目录没有任何问题。
文件名的示例是} {~{}{}�{
~ _�����}��_�
} ~_�{}
} } { }} 。 ,而it.sa .zip文件包含通常的英文字符。
感谢您的任何建议。
以下是代码段:
var txtFiles2 = Directory.EnumerateFiles(_subDir);
LoggerHelper.Debug(logger, "Dir {0}", _subDir);
foreach (string f2 in txtFiles2)
{
LoggerHelper.Debug(logger, "DB1: FileName {0}", f2);
FileInfo fi = new FileInfo(f2);
LoggerHelper.Debug(logger, " File {0}", fi.Name);
}