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)移动文件或 ...
随机推荐
- cento7.3下玩转sphinx
cento7.5下玩转sphinx 1 安装依赖文件 yum install postgresql-libs unixODBC 2 下载 wget http://sphinxsearch.com/fi ...
- 查看Java文件对应的字节码
1. 编译为class文件:javac 2. 使用javap查看bytecode:javap -v
- 基于 DirectX11 的 MMDViewer 03-渲染管线
准备工作: 开始搭建框架之前,你需要确保已经进行了 D3D 开发环境的搭建,相关教程可以阅读这篇文章.不了解 DirectX11 的人,这个作者有关 DirectX11 的教程最好阅读一下,虽然文章不 ...
- UGUI 学习
1. Grid Layout Group(网格布局) Hierachy: Game: 属性和功能: 2. 根据鼠标位置旋转界面实现: public class TiltWindow : MonoBeh ...
- 【原】Coursera—Andrew Ng机器学习—Week 8 习题—聚类 和 降维
[1]无监督算法 [2]聚类 [3]代价函数 [4] [5]K的选择 [6]降维 Answer:本来是 n 维,降维之后变成 k 维(k ≤ n) [7] [8] Answer: 斜率-1 [9] A ...
- Unmarshaller解析xml文件
参考地址:http://linbulu.iteye.com/blog/2295919 Girl.xml文件 <?xml version="1.0" encoding=&quo ...
- mybatis+oracle如何批量执行多条update
接口 public void setStatus(List<Columns> columnsList); mapping xmlmapping 中使用foreach,关于标签的使用,资料非 ...
- 自然语言处理之中文分词器-jieba分词器详解及python实战
(转https://blog.csdn.net/gzmfxy/article/details/78994396) 中文分词是中文文本处理的一个基础步骤,也是中文人机自然语言交互的基础模块,在进行中文自 ...
- 2018年最新 Java面试通关要点汇总集
基础篇 基本功 面向对象的特征 final, finally, finalize 的区别 int 和 Integer 有什么区别 重载和重写的区别 抽象类和接口有什么区别 说说反射的用途及实现 说说自 ...
- rocketmq配置项说明(对应版本:4.0.0-incubating)
Broker配置参数说明 自定义客户端行为 ※一些默认配置的源代码路径 org.apache.rocketmq.store.config --END--