【发布时间】:2016-06-06 15:18:27
【问题描述】:
我得到错误
文件名、目录名或卷标语法不正确。 (HRESULT 异常:0x8007007B)
我的代码是
public async void ReadFile()
{
var path = @"F:\VS\WriteLines.xls";
var folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
var file = await folder.GetFileAsync(path);
var readFile = await Windows.Storage.FileIO.ReadLinesAsync(file);
foreach (var line in readFile.OrderBy(line =>
{
int lineNo;
var success = int.TryParse(line.Split(';')[4], out lineNo);
if (success) return lineNo;
return int.MaxValue;
}))
{
itemsControl.Items.Add(line);
}
}
错误显示在var file = await folder.GetFileAsync(path);
【问题讨论】:
-
只是为了确保路径正确且文件存在。
-
旁注 XLS 通常是非文本格式...因此读取文本行会失败 - 但它不太可能导致您看到的错误。
-
我也尝试过使用 .txt 文件,但它也不起作用。我坚持使用 .xls,因为在纯控制台代码中它可以工作,并且我能够成功列出 .xls 中的行。
-
我在提供路径的方式上是否犯了一些错误?在构建之前没有强调任何内容。仅当构建路径出现错误时。
-
路径和文件格式没问题。首先ako,您使用了错误的api,其次,您的应用程序可能没有权限访问aby 文件。检查此msdn.microsoft.com/en-us/windows/uwp/files/…。为什么需要从硬编码的 url 读取文件?基本上,在 UWP 中,文件必须在应用程序安装文件夹、应用程序数据文件夹或文档库中,或者您需要让用户选择文件,例如使用文件选择器。