【发布时间】:2016-02-11 19:55:02
【问题描述】:
我正在尝试编写一个将 zip 文件提取到目录中的方法,在提取的内容中找到一个文件,将该文件中的文本读取为一个字符串,然后返回该字符串。这是我的尝试
private string _getDataFile(string zipFile)
{
string pathToFolder = @"C:\Path\To\The\File";
foreach (char c in Path.GetInvalidPathChars())
{
pathToFolder = Regex.Replace(pathToFolder, c.ToString(), "");
}
string pathToFile = pathToFolder + @"\model.dat";
ZipFile.ExtractToDirectory(zipFile, pathToFolder);
string dataToReturn = File.ReadAllText(pathToFile);
return dataToReturn;
}
但是,尽管我的 foreach 循环替换了非法路径字符,但无论我尝试使用哪个目录,程序仍然在 ZipFile.ExtractToDirectory 行的路径异常中抛出非法字符,我不知道为什么。任何帮助将不胜感激。
【问题讨论】:
-
ZipFile.ExtractToDirectory 发生异常,更新问题以指定
-
你能发布异常消息吗?
-
您检查过 pathToFolder 的值吗?如果是,ZipFile 是您创建的某个 dll 或类吗?您能否显示 ExtractToDirectory 源或错误消息?
-
您的代码根本没有多大意义。 for 循环看起来不对。为什么你需要这样做?尝试诊断实际问题。做一些调试。不要猜测。