文件及文件夹操作- File类、Directory 类、FileInfo 类、DirectoryInfo 类
命名空间:using system .IO;
1. File类:
创建:File.Create(路径);创建文件,返回FileStream
FileStream fs = File.Create(路径);之后需要关闭否则打不开,fs.close();
删除:File.Delete(路径);无返回值
复制文件:File.Copy(源文件,目标文件);
剪切文件:File.Move(源文件路径,目标路径);
判断文件是否存在:File.Exists(路径);返回布尔型,true代表已存在
文件加密:File.Encrypt();File.Decrypt();解密
File.GetCreationTime(路径);获取创建时间,返回DateTime类型 SetCreationTime(路径,DateTime类型);修改创建时间
File.GetLastAccessTime(路径);最后访问时间,返回DateTime类型 SetLastAccessTime(路径,DateTime类型);修改访问时间
File.GetLastWriteTime(路径);最后修改时间,返回DateTime类型 SetLastWriteTime(路径,DateTime类型);修改修改时间
2. Directory 类,目录(文件夹)
Directory .CreateDirectory(路径);创建目录
Directory .Delete(路径);删除目录
Directory .Exists(路径);目录是否存在
三个时间的get和set
Directory .GetDirectories(路径); 获取子目录,返回string数组
Directory .GetFiles(路径); 获取子文件!名!,返回string数组,string[] s = Directory .GetFiles(路径);
Directory .GetDirectoryRoot(路径); 获取根目录
Directory .GetParent(路径); 获取上一级目录
FileInfo 类
是实例方法,需要造对象new出来才能用,上面的都是File的静态方法
创建文件:FileInfo f = new FileInfo(路径); FileStream s = f.Create(); s.Close();
删除文件:FileInfo f = new FileInfo(路径); f.Delete();
复制文件:FileInfo f = new FileInfo(路径); f.CopyTo(目标路径,是否覆盖(true是覆盖));
移动文件:FileInfo f = new FileInfo(路径); f.MoveTo(目标路径);
文件是否存在:FileInfo f = new FileInfo(路径); bool b = f.Exists;布尔型,是个属性
获取文件名:FileInfo f = new FileInfo(路径);string s = f.FullName;属性,带路径的文件名
获得创建时间:DateTime d = f.CreationTime,三个时间都一样,都是属性
设置创建时间:f.CreationTime = DateTime.Now.AddDays(100); 三个都一样
获取文件大小:f.Length
DirectoryInfo 类
创建目录:DirectoryInfo d = new DirectoryInfo(路径); d.Create();
删除目录:d.Delete();
移动目录:d.MoveTo(目标路径);
目录是否存在:bool b = d.Exists;
获得目录全名:d.FullName;
获得子文件!对象信息!: FileInfo[] f = d.GetFiles(); 返回的是文件对象数组,内容更详细,d.GetFiles("*.exe")只获取exe的文件
获得子目录:DirectoryInfo[] dr = d.GetDirectories();
实例展示:读取目录大小
private long size = 0;
private long DirSize(string path)
{
DirectoryInfo d = new DirectoryInfo(path);
FileInfo[] f = d.GetFiles();
foreach (FileInfo wj in f)
{
size += wj.Length;
}
DirectoryInfo[] dr = d.GetDirectories();
if (dr.Count() > 0)
{
foreach (DirectoryInfo wjj in dr)
{
DirSize(wjj.FullName);
}
}
return size;
}
读取目录下面文件夹数量:
private int dcount = 0;
private int DirCount(string path)
{
DirectoryInfo d = new DirectoryInfo(path);
DirectoryInfo[] dr = d.GetDirectories();
if (dr.Count() > 0)
{
foreach (DirectoryInfo wjj in dr)
{
DirCount(wjj.FullName);
}
}
dcount += dr.Count();
return dcount;
}
读取所有文件数量:
private int count=0;
private int FileCount(string path)
{
DirectoryInfo d = new DirectoryInfo(path);
FileInfo[] f = d.GetFiles();
DirectoryInfo[] dr = d.GetDirectories();
if (dr.Count() > 0)
{
foreach (DirectoryInfo wjj in dr)
{
FileCount(wjj.FullName);
}
}
count += f.Count();
return count;
}
利用遍历集合查询文件夹下所有文件数量,文件夹数量:
private int fcount = 0;
private int FileCount(string path)
{
//造文件夹信息对象
DirectoryInfo dwjj = new DirectoryInfo(path);
//取当前文件夹下文件数量
fcount += dwjj.GetFiles().Length;
//取当前目录下所有文件夹
foreach (DirectoryInfo d in dwjj.GetDirectories())
{
FileCount(d.FullName);
}
return fcount;
}
private int dcount = 0;
private int DirCount(string path)
{
//造一个文件夹信息对象
DirectoryInfo d = new DirectoryInfo(path);
//取该目录下所有文件夹
DirectoryInfo[] df = d.GetDirectories();
//累加文件夹数量
dcount += df.Length;
//遍历所有文件夹
foreach (DirectoryInfo w in df)
{
DirCount(w.FullName);
}
return dcount;
}
文件及文件夹操作- File类、Directory 类、FileInfo 类、DirectoryInfo 类 - 柴亮 - 博客园
https://www.cnblogs.com/light3857/p/5849926.html
文件及文件夹操作- File类、Directory 类、FileInfo 类、DirectoryInfo 类相关推荐
- 解决 VS 无法打开包括文件: “XXX.h”: No such file or directory问题
每次封装管理,当 Visual Studio 包含多个 .h 文件和 .c 文件,运行时总会发生如下错误 错误 C1083 无法打开包括文件: "XXX.h": No such f ...
- 【VC++2010无法debug】fatal error C1083: 无法打开包括文件:“stdio.h”: No such file or directory【问题解决】
[VC++2010无法debug]fatal error C1083: 无法打开包括文件:"stdio.h": No such file or directory[问题解决] st ...
- 成功解决 _mssql.c(568): fatal error C1083: 无法打开包括文件: “sqlfront.h”: No such file or directory
成功解决 _mssql.c(568): fatal error C1083: 无法打开包括文件: "sqlfront.h": No such file or directory 目 ...
- 无法打开包括文件:“osgGA/MatrixManipulator”:No such file or directory
无法打开包括文件:"osgGA/MatrixManipulator":No such file or directory 解决方法: 新版本中已经改名为CameraManipula ...
- fatal error C1083: 无法打开包括文件:dxtrans.h: No such file or directory
From: http://blog.csdn.net/pkueecser/article/details/7287938 fatal error C1083: 无法打开包括文件:"dxtra ...
- fatal error C1083: 无法打开包括文件:“stdint.h”: No such file or directory
fatal error C1083: 无法打开包括文件:"stdint.h": No such file or directory [错误]fatal error C1083: 无 ...
- 无法打开包括文件: “ocl_macros.h”: No such file or directory
并行处理显示错误: 无法打开包括文件: "ocl_macros.h": No such file or directory 尝试了在项目属性-C/C++-常规中将 '使用Windo ...
- fatal error C1083: 无法打开包括文件: “afx.h”: No such file or directory
在用Visual Studio 2017打开一个工程进行编译时,报了如下错误: fatal error C1083: 无法打开包括文件: "afx.h": No such fi ...
- 《无法打开包括文件:“Eigen\Dense”:No such file or directory》亲测有效的解决方法
无法打开包括文件:"Eigen\Dense":No such file or directory 综述问题 解决方法 综述问题 Eigen是c++使用中常用的处理矩阵的工具包,通常 ...
最新文章
- python 四数之和
- 5分钟学会区块链 - 开发一条区块链 Develop BlockChain with Tendermint
- 设计模式-原型模式(Prototype)
- 【Linux】一步一步学Linux——ctrlaltdel命令(198)
- 如何给UI上可以接收focus事件的element动态注册onfocus处理函数
- 自己动手开发编译器(我们的朋友 -- 装配脑袋走了)
- php扩展包安装了为啥没加载,已安装PHP扩展但未加载
- VS2013的boost.python编译
- jdi屏幕斜纹_荣耀V10屏幕有斜纹问题,有人甚至因此退货,真的这么严重?
- 云版 Android 系统来了?
- springboot 项目里使用spring.xml文件
- 洛必达法则及极限问题总结
- mysql 提示表不存在的解决方法error: 1146: Table doesn‘t exist
- jQuery贼简单的选项卡切换
- POJ 1417 True Liars (种类并查集+DP)
- 英汉互译在线翻译器-大家都在用的英汉互译翻译器
- [HoopChina]爱神的通牒
- xargs命令详解,xargs与管道的区别
- 单片机节日彩灯实训报告_单片机数字钟实训报告
- 2021年度十大开源SLAM算法
热门文章
- 多人共享协作画板——单机画板
- 有道云笔记中markdown插入本地图片(绝对路径)后无法显示图片问题
- 动物系列3D虚拟解剖软件助力畜牧兽医专业学习
- 2021年中国内燃机曲轴行业现状及竞争格局分析,高壁垒塑造曲轴行业高集中度,新能源汽车带动行业发展「图」
- vue配置api代理详解与使用方法
- 为什么Windows电脑开机速度会变得越来越慢?由原先的几秒到了几十秒。了解这些方法将会助你杜绝卡顿(推荐适合电脑小白使用的杀毒软件)
- 利用Python制作第一人称射击小游戏 含源代码
- ipconfig失败
- 群晖挂pt 路由器虚拟服务器设置,设置远程唤醒NAS要几步?用群晖路由只要4步!...
- matlab怎么语音时域采样频谱,基于MATLAB的时域信号采样及频谱分析