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)移动文件或 ...
随机推荐
- TypeScript--deno前置学习
第一节:前言: 1.JavaScript 的发展简史图: 2.关于node与deno: (1)Node与Deno 的区别:Node 可以工作,而 Deno 不行,Deno 只是一个原型或实验性产品. ...
- K老在拿图灵奖时的发言:Computer Programming as an Art
很多话说得很透彻,把一些觉比较精彩的摘抄一下. ... It seems to me that if the authors I studied were writing today, they wo ...
- RHCE7-学习里程 root 密码重置换
一.root 密码重置换 当忘记root 密码后,可以按照以下方法重置 root 密码 1.重启动电脑,出现如下界面,按 上 下 键盘, 选择 (core)--再按e 2.在下图linux16 ...
- C# 发送和接受Get请求
1.发送Get请求 public static string HttpGet(string Url, string postDataStr) { HttpWebRequest request = (H ...
- 2018/4/26 python文件处理方式
目录 2018/4/26总结 1. 如果有一天群内问题总结: 问题:python2和python3的默认编码是什么? 2. python学习总结: python的处理文件方式 2018/4/26总结 ...
- easyui容易被忽略掉的部分
官方文档有这么一段话: Each component of easyui has properties, methods and events. Users can extend them easil ...
- 【BZOJ 3261】最大异或和【可持久化字典树】
题意 给出一个长度为n的整数序列,给出m个操作.操作有两种.1,Ax表示在序列结尾增加x.2,Qlrx表示找到一个位置p满足 l<=p<=r,使得a[p] xor a[p+1]xor... ...
- 135. Candy(Array; Greedy)
There are N children standing in a line. Each child is assigned a rating value. You are giving candi ...
- Java读取Unicode文件(UTF-8等)时碰到的BOM首字符问题
在Windows下用文本编辑器创建的文本文件,如果选择以UTF-8等Unicode格式保存,会在文件头(第一个字符)加入一个BOM标识. 这个标识在Java读取文件的时候,不会被去掉,而且Stri ...
- linux系统文件的安全与特殊权限
一. 文件与目录的原始属性 由于不希望文件具有可执行的原始权限,默认情况下,文件是没有可执行(x)权限的,因此文件的原始属性是:-rw-rw-rw(0666) 目录的原始属性全部开放,为:-rwxrw ...