C# WPF Application 下的文件操作
好气哦,电脑好烂,每天花大把的时间在等电脑反应上。
没有钱买新电脑,连组台式机的钱都没有。好气哦。
啊啊啊啊文件操作是什么鬼???C++下我都懵了,C#下好多东西要学!!!我不会!我不会!我不会!!!啊啊啊啊啊啊!!!
怎么办啊?用windows API写我要怎么样移植到Linux下?
WINDOWS API的文件操作
一.常用函数
| CreateFile | 创建、打开文件 |
| ReadFile | 读取文件内容 |
| WriteFile | 写入文件内容 |
| SetFilePointer | 移动文件指针 |
| SetEndOfFile | 设置文件结尾标志 |
| CopyFile | 文件拷贝 |
| DeleteFile | 文件删除 |
| MoveFile | 文件移动 |
| CreateDirectory | 创建一个目录 |
| RemoveDirectory | 删除一个目录 |
| GetCurrentDirectory | 获取当前程序所在目录 |
| SetCurrentDirectory | 设置当前程序所在目录 |
| FindFirstFile | 查找指定目录下的第一个文件 |
| FindNextFile | 查找下一个文件 |
| LockFile | 文件锁定 |
| UnlockFile | 文件解锁 |
| GetFileType | 获取文件类型 |
| GetFileSize | 获取文件的大小 |
| GetFileAttributes | 获取文件属性 |
| SetFileAttributes | 设置文件属性 |
| GetFileTime | 获取文件时间 |
| GetFileInformationByHandle | 获取文件信息 |
| GetFullPathName | 获取文件的完整路径 |
| GetModuleFileName | 获取当前模块全路径 |
手动复制冰森爸爸的表格get√
所以说常用的输入输出操作都能通过WINDOWS的内置API来实现,再也不用研究C++那些个杀千刀的函数啦,啦啦啦啦啦~
二. 使用方法
想要入门WINDOWS API呢,我先达成一个小目标,比如先用机器码写一个windows操作系统。。。偶不,写一个程序来管理我磁盘上的文件。
因为我的电脑太烂了,烂到家了,不仅速度不够快,而且容量还很小。所以我所有的包都是按照逻辑联想的方法分类备份到移动硬盘上的。
导致的直接结果就是我每天需要打开二十多次Program_setup文件夹,然后一级一级的去找,我要疯啦啦啦啦啦啦!!!所以决定自己写一个管理文档的小程序。。
程序功能:找出指定路径下的所有文件,并保存文件名,文件描述,文件相对路径三个信息。建立一个文件目录表用于保存所有信息。
程序结构:后端使用windows API C++方式,或C#方式,前端使用WPF Application
1. 后端程序
search.h -用于递归所有文件
catchInfo.h -用于读取并保存文件信息
store.h -用于整理储存好的文件信息数据
query.h -用于查询表
exec.h -用于执行文件的复制,安装操作
update.h -用于更新安装包文件
| CreateFile | 创建、打开文件 |
| ReadFile | 读取文件内容 |
| WriteFile | 写入文件内容 |
| SetFilePointer | 移动文件指针 |
| SetEndOfFile | 设置文件结尾标志 |
| CopyFile | 文件拷贝 |
| DeleteFile | 文件删除 |
| MoveFile | 文件移动 |
| CreateDirectory | 创建一个目录 |
| RemoveDirectory | 删除一个目录 |
| GetCurrentDirectory | 获取当前程序所在目录 |
| SetCurrentDirectory | 设置当前程序所在目录 |
| FindFirstFile | 查找指定目录下的第一个文件 |
| FindNextFile | 查找下一个文件 |
| LockFile | 文件锁定 |
| UnlockFile | 文件解锁 |
| GetFileType | 获取文件类型 |
| GetFileSize | 获取文件的大小 |
| GetFileAttributes | 获取文件属性 |
| SetFileAttributes | 设置文件属性 |
| GetFileTime | 获取文件时间 |
| GetFileInformationByHandle | 获取文件信息 |
| GetFullPathName | 获取文件的完整路径 |
| GetModuleFileName | 获取当前模块全路径 |
C# WPF Application 下的文件操作的更多相关文章
- Linux(C/C++)下的文件操作open、fopen与freopen via Boblim
Linux(C/C++)下的文件操作open.fopen与freopen open是linux下的底层系统调用函数,fopen与freopen c/c++下的标准I/O库函数,带输入/输出缓冲. li ...
- Linux(C/C++)下的文件操作open、fopen与freopen
open是linux下的底层系统调用函数, fopen与freopen c/c++下的标准I/O库函数,带输入/输出缓冲. linxu下的fopen是open的封装函数,fopen最终还是要调用底层的 ...
- linux下的文件操作——批量重命名
概述:在日常工作中,我们经常需要对一批文件进行重命名操作,例如将所有的jpg文件改成bnp,将名字中的1改成one,等等.文本主要为你讲解如何实现这些操作 1.删除所有的 .bak 后缀: renam ...
- ubuntu下zip文件操作
转自 https://blog.csdn.net/hpu11/article/details/71524013 .zip $ zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹 ...
- Linux下的文件操作——基于文件指针的文件操作(缓冲)
目录操作 创建和删除目录: 原型为: #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> ...
- C# 目录下的文件操作
运用DirectoryInfo类的对象我们可以轻松的实现对目录以及和目录中的文件相关的操作,假如你要获得某个目录F:\Pictures下的所有BMP文件,那么通过下面的代码就可以实现该功能. 上面的代 ...
- Linux下的文件操作——基于文件描述符的文件操作(2)
文件描述符的复制 MMAP文件映射 ftruncate修改文件大小 文件描述符的复制 系统调用函数dup和dup2可以实现文件描述符的复制,经常用来重定向进程的stdin(0), stdout(1 ...
- linux下的文件操作
彻底删除文件 rm -rf + [文件目录 可相对可绝对] 是彻底删除而且linux无回收站 创建文件 touch + [文件名] 创建文件夹 mkdir + [文件夹名] 文件提权:chmod 77 ...
- Ubuntu下部分文件操作的命令
(1)创建目录 mkdir filefoldname (2)删除空目录 rmdir filefoldname (3)删除非空目录及其中所有文件 rm -rf filefoldname (4)移动文件或 ...
随机推荐
- 接触C# 反射
1.反射的概念详解[1] 1.1 理解C#中的反射 1.B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况.这是如何做到的呢?B超是B型超声波,它可以透过肚皮通过向你体内 发 ...
- asp.net(c#)GridView实现鼠标悬停高亮显示
搜索了一下,发现对于这种基本都使用girdview中的RowDataBound事件完成,下面看看网上提供的简单方法protected void GridView1_RowDataBound(objec ...
- 「小程序JAVA实战」小程序视图之细说列表渲染(14)
转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-14/ 列表的渲染,不管是任何语言都有列表这个概念.源码:https://github.com/li ...
- GetEnumName 枚举名称 字符串
System.TypInfo.pas System.TypInfo.hpp http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.TypIn ...
- Spring oxm入门实例
O/XMapper是什么? Spring3.0的一个新特性是O/XMapper.O/X映射器这个概念并不新鲜,O代表Object,X代表XML.它的目的是在Java对象(几乎总是一个plainoldJ ...
- iOS开发基础控件--UISegmentedControl
UISegmentedControl全局外观设置 分段控件是我们常用的控件之一,今天把具体用法总结了下: 1.初始化UISegmentedControl [plain] view plaincopy ...
- 【BZOJ3238】差异【后缀自动机+dp】
题意 分析 这个题目还是很优秀的.sigma(len(Ti)+len(Tj))的值是一定的=n*(n+1)*(n-1)/2.那么关键就是求任意两个后缀的lcp的和了. 我们怎么求两个后缀的lcp?如果 ...
- Hibernate其它API
----------------siwuxie095 (一)Query 1.使用 Query 对象执行查询操作,不需要写 sql 语句,但是要写 hql 语句 (1)hql:即 Hibernate Q ...
- 微软人工智能公开课 https://mva.microsoft.com/colleges/microsoftai#!jobf=Developer
https://mva.microsoft.com/colleges/microsoftai#!jobf=Developer
- -other linker flags - 详解
• 值:-objC,-all_load,-force_load • -objC: 在iOS 中,使用-all_load时,如果静态库中有类别时会出问题,使用其他两个值则不会有问题. • -al ...