我收到错误
文件名,目录名或卷标语法不正确。 (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);
答案 0 :(得分:2)
您无法从UWP App中磁盘上的任意位置读取文件。 您可以通过以下几种方式完成任务:
var path = @"WriteLines.xls"
var folder = KnownFolders.DocumentsLibrary;
答案 1 :(得分:1)
您要求的文件具有来自应用程序本地文件夹的绝对路径 - 因此,当您提供包含驱动器名称的路径时,它会抛出该错误。
一般来说,UWP对于从何处/如何获取文件非常严格 - 我认为你不能从样本中的绝对路径获取它(app需要更多权限才能到达类似的地方)。您可以尝试StorageFile.GetFileFromPathAsync。
有关应用可以访问的位置的详细信息 - UWP apps on Windows 10: File access permissions。