【万里征程——Windows App开发】文件&数据——读取文件/文件夹名

简介:

在上一节中我们学习了数据绑定,因为我个人对上一篇还是比较满意的,至少相对于前面的那些而言(我也知道前面写的太差了,后面还会继续修改的,博客也像软件一样嘛)。这一节开始我们将陆续看到Windows App是怎样操作文件的。

在Windows上读取文件名、文件夹名

首先我们在XAML中定义一个Button和TextBlock,将读取文件/文件夹名的过程写在前者的click事件中,后者则用来显示文件信息。

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">        
     <StackPanel Orientation="Horizontal">                
          <Button Name="btnGetName" Width="200" Height="100" Content="读取文件名" Click="btnGetName_Click"/>                
          <TextBlock Name="textBlockFileName" Width="500" Height="300" FontSize="30" Margin="12"/>              
     </StackPanel>         
</Grid>

以下这段代码,首先通过StorageFolder类读取图片库,然后使用异步的方式将图片库的文件和文件夹信息载入相应的List中。新建一个StringBuilder用以保存这些文件的信息,在这里只是使用了文件/文件夹的Name属性,但属性还有很多,比如Path属性。最后再将这些获取到的信息赋值给TextBlock即可。

        private async void btnGetName_Click(object sender, RoutedEventArgs e)
        {
            StorageFolder pictureFolder = KnownFolders.PicturesLibrary;
            IReadOnlyList<StorageFile> pictureFileList = await pictureFolder.GetFilesAsync();
            IReadOnlyList<StorageFolder> pictureFolderList = await pictureFolder.GetFoldersAsync();

            StringBuilder picutreFolderInfo = new StringBuilder();          
            foreach(StorageFile f in pictureFileList)
            {
                picutreFolderInfo.Append(f.Name+"\n");
            }
            foreach(StorageFolder f in pictureFolderList)
            {
                picutreFolderInfo.Append(f.Name+"\n");
            }
            textBlockFileName.Text = picutreFolderInfo.ToString();                
        }

注意要在方法名前面加上async哦。还有要在清单文件中声明我们的应用要使用图片库哦,一会在Windows Phone中也一样。

这里写图片描述

在Windows Phone上读取文件名、文件夹名

后台代码不用做任何修改,只需把XAML代码修改修改以适应屏幕即可~

<Grid>
    <StackPanel Orientation="Vertical">
         <Button Name="btnGetName" Width="150" Height="70" HorizontalAlignment="Center"
                        Content="读取文件名" Click="btnGetName_Click"/>
         <TextBlock Name="textBlockFileName" Width="300" Height="300" FontSize="30" Margin="12" TextWrapping="Wrap"/>
    </StackPanel>           
</Grid>

读取文件名的其他方法

        private async void btnGetName_Click(object sender, RoutedEventArgs e)
        {
            StorageFolder picutureFolder = KnownFolders.PicturesLibrary;
            StringBuilder pictureFolderInfo = new StringBuilder();
            IReadOnlyList<IStorageItem> pictureFileItem = await picutureFolder.GetItemsAsync();              
            foreach(var i in pictureFileItem)
            {
                if (i is StorageFolder)
                    pictureFolderInfo.Append(i.Name + "\n");
                else
                    pictureFolderInfo.Append(i.Name + "\n");
            }    
            textBlockFileName.Text = pictureFolderInfo.ToString();
        }



为使本文得到斧正和提问,转载请注明出处:
http://blog.csdn.net/nomasp

目录
相关文章
《仿盒马》app开发技术分享-- 确认订单页(数据展示)(29)
上一节我们实现了地址的添加,那么有了地址之后我们接下来的重点就可以放到订单生成上了,我们在购物车页面,点击结算会跳转到一个 订单确认页面,在这个页面我们需要有地址选择、加购列表展示、价格计算、优惠计算、商品数量展示等信息。
366 3
|
Dart 前端开发
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
586 75
【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
|
移动开发 开发框架 小程序
uni-app:demo&媒体文件&配置全局的变量(三)
uni-app 是一个使用 Vue.js 构建多平台应用的框架,支持微信小程序、支付宝小程序、H5 和 App 等平台。本文档介绍了 uni-app 的基本用法,包括登录示例、媒体文件处理、全局变量配置和 Vuex 状态管理的实现。通过这些示例,开发者可以快速上手并高效开发多平台应用。
453 0
|
C++ Windows
【Function App】本地通过VS Code调试Function时候遇见无法加载文件错误Microsoft.Extensions.Diagnostics.Abstractions
在使用 VS Code 调试 Azure Functions 时,执行 `func host start` 可能因版本冲突报错。错误信息显示 Rpc Initialization Service 启动失败,可能是由于缺少文件或组件导致。解决方法包括:1) 使用 npm 卸载并重新安装 Azure Functions Core Tools;2) 若问题未解决,重新下载安装包(如 func-cli-x64.msi)修复旧版本工具;3) 退出并重启 VS Code,重新加载项目即可恢复正常运行。参考资料链接提供了更多背景信息。
543 1
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
1057 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
BI 开发工具 开发者
App全渠道统计方案:如何用一个工具整合所有获客渠道数据?
还在为地推、社群、广告等不同获客渠道的数据分散而烦恼吗?本文将教您如何用一个工具整合所有渠道数据,实现精准的渠道归因与效果分析。
504 0
|
Windows
【Azure App Service】对App Service中CPU指标数据中系统占用部分(System CPU)的解释
在Azure App Service中,CPU占比可在App Service Plan级别查看整个实例的资源使用情况。具体应用中仅能查看CPU时间,需通过公式【CPU Time / (CPU核数 * 60)】估算占比。CPU百分比适用于可横向扩展的计划(Basic、Standard、Premium),而CPU时间适用于Free或Shared计划。然而,CPU Percentage包含所有应用及系统占用的CPU,高CPU指标可能由系统而非应用请求引起。详细分析每个进程的CPU占用需抓取Windows Performance Trace数据。
409 40
|
Linux 开发工具 数据安全/隐私保护
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
这篇文章介绍了在CentOS 7系统中安装Docker时遇到的两个常见问题及其解决方法:用户不在sudoers文件中导致权限不足,以及yum被锁定的问题。
452 2
linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for
|
数据库 数据安全/隐私保护 Windows
Windows远程桌面出现CredSSP加密数据修正问题解决方案
【10月更文挑战第30天】本文介绍了两种解决Windows系统凭据分配问题的方法。方案一是通过组策略编辑器(gpedit.msc)启用“加密数据库修正”并将其保护级别设为“易受攻击”。方案二是通过注册表编辑器(regedit)在指定路径下创建或修改名为“AllowEncryptionOracle”的DWORD值,并将其数值设为2。
12935 3
|
Java Linux Apache
jar 解压app.jar到指定文件夹
要将 JAR 文件(如 `app.jar`)解压到指定文件夹,可使用 Java 自带的 `jar` 工具、Apache Ant、7-Zip 或 Python 脚本。方法包括命令行操作(如 `jar xf app.jar -C /path/to/destination/folder`)、Ant 构建文件、7-Zip 图形界面或命令行,以及 Python 的 `zipfile` 模块。选择适合的方法即可轻松完成解压。
2326 3

热门文章

最新文章