博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UWP访问KnownFolders.RemovableDevices时(读取U盘文件)抛出异常UnauthorizedAccessException...
阅读量:6381 次
发布时间:2019-06-23

本文共 2008 字,大约阅读时间需要 6 分钟。

读取U盘的文件时:

StorageFile file = await folder.GetFileAsync("myfile.txt");

抛出异常System.UnauthorizedAccessException: 拒绝访问。

解决方案:

参考:

注意  您的应用程序在清单中必须使用“文件类型关联”声明显式声明哪种文件类型(扩展)将在可移动设备文件夹中访问。此文件夹对应于“我的电脑”中的“可移动的设备”部分,同时也包括诸如 USB 闪存驱动器和外置硬盘的设备。

打开项目中的应用部件清单文件 (Package.appxmanifest)

 

  • 1.在“功能”选项卡中勾选"可移动存储"。
  • 2.在“声明”选项卡中。
  • 从下拉列表中选择“文件类型关联”,然后单击“添加”。
  • 输入 txt 作为“名称”。
  • 输入 .txt 作为“文件类型”。
  • 输入“images\Icon.png”作为“徽标”。
  • 按 Ctrl+S 保存对 package.appxmanifest 的更改。

重新运行即可。

代码:

//读取U盘中的txt文件            StringBuilder foldersName = new StringBuilder();            var removableDisksName = "";            var removableStorages = await KnownFolders.RemovableDevices.GetFoldersAsync();            if (removableStorages.Count > 0)            {                // 遍历每个可移动存储设备                foreach (StorageFolder storage in removableStorages)                {                    removableDisksName += storage.DisplayName + "\n";                    var folderList = await storage.GetFoldersAsync();//获取存储设备下的目录                    foreach (StorageFolder folder2 in folderList)                    {                        foldersName.Append(folder2.DisplayName + "\n");                        if (folder2.DisplayName.Equals("myfolder", StringComparison.OrdinalIgnoreCase))                        {                            openFile(folder2);                        }                    }                    async void openFile(StorageFolder folder)                    {                        StorageFile file = await folder.GetFileAsync("myfile.txt");                        using (Stream fs = await file.OpenStreamForReadAsync())                        {                            using (StreamReader read = new StreamReader(fs))                            {                                string output = read.ReadToEnd();                                int iiii = 0;                            }                        }                    }                }            }            else            {                //没有移动存储连接到电脑            }

 

转载地址:http://ulhqa.baihongyu.com/

你可能感兴趣的文章
Spring 框架的设计理念与设计模式分析
查看>>
十年web老兵整理的前端视频资料
查看>>
CentOS 6.3 上安装 Oracle 11g R2(转)
查看>>
高可用haproxy调度后端服务器实现动静分离集群架构
查看>>
Java 进行 RSA 加解密
查看>>
Hbase原理、基本概念、基本架构
查看>>
MQ 对比
查看>>
实战:RHEL6配置dhcp服务器并绑定主机IP
查看>>
百度不收录原因分析——Spider抓取篇
查看>>
Ubuntu Server 上安装 Jexus
查看>>
浏览器渲染原理及解剖浏览器内部工作原理
查看>>
dubbo连接zookeeper注册中心因为断网导致线程无限等待问题【转】
查看>>
Spring Boot项目配置RabbitMQ集群
查看>>
bash 交互与非交互
查看>>
怎么提高自身技术
查看>>
北京游泳馆
查看>>
Mac 安卓模拟器打开 ONS
查看>>
完全卸载Oracle 11g教程
查看>>
Oracle调整表空间大小——ORA-03297: 文件包含在请求的 RESIZE 值以外使用的数据
查看>>
二叉树(一)
查看>>