System.IO中的File、FileInfo、Directory与DirectoryInfo类(实例讲解)
一、建立的文件夹(对这些文件进行以上四个类的操作):
父目录:

父目录的子目录以及父目录下的文件:

子目录下的文件:


二、效果图

三、代码实现
using System;
using System.IO;
namespace testio
{
class Program
{ static void Main(string[] args)
{
//string Path = @"C:\Users\zhangtao\Desktop\Test";
string fileNAME = "tt" + ".txt";
string Path = @"C:\Users\zhangtao\Desktop\Test" + "\\" + fileNAME;
//0、File 类
Console.WriteLine("" + "、 " + "File 类");
string fileIO = File.ReadAllText(Path); //读取文件格式为".txt"的内容
Console.WriteLine(fileIO); //读取文件格式为".txt"的内容 //1、FileInfo 类
Console.WriteLine("" + "、 " + "FileInfo 类");
FileInfo fi = new FileInfo(Path);
Console.WriteLine(fi);
Console.WriteLine(fi.CreationTime.ToString()); //获取文件创建时间
Console.WriteLine(fi.Exists);
Console.WriteLine(fi.Extension);
Console.WriteLine(fi.Attributes);
Console.WriteLine(fi.Directory); //获取文件的目录
Console.WriteLine(fi.DirectoryName);
Console.WriteLine(fi.FullName);
int position = fi.Name.LastIndexOf(".");
string filename = fi.Name.Substring(, position); //获取文件创建时间
Console.WriteLine(filename); //2、Directory 类
Console.WriteLine("" + "、 " + "Directory 类");
var files = Directory.GetFiles(@"C:\Users\zhangtao\Desktop\Test", "*.txt"); //得到该目录下所有".txt"格式的文件
foreach (var file in files)
Console.WriteLine(file); //获取文件的路径以及名字
var files01 = Directory.GetCreationTime(@"C:\Users\zhangtao\Desktop\Test"); //获取目录创建时间
Console.WriteLine(files01); var files02 = Directory.GetDirectories(@"C:\Users\zhangtao\Desktop\Test"); //得到Test目录所包含的子目录
foreach (var files002 in files02)
Console.WriteLine(files002);
//3、DirectoryInfo 类
Console.WriteLine("" + "、 " + "DirectoryInfo 类");
DirectoryInfo folder = new DirectoryInfo(@"C:\Users\zhangtao\Desktop\Test");
Console.WriteLine(folder);
foreach (DirectoryInfo dd in folder.GetDirectories()) //获取子目录的名称
{
Console.WriteLine(dd);
}
foreach (FileInfo file in folder.GetFiles("*.txt"))
{
Console.WriteLine(file.Name); //获取该目录所包含文件的名字
Console.WriteLine(file.CreationTime); //获取文件创建时间
Console.WriteLine(file.FullName); //获取文件的路径以及名字
Console.WriteLine(file.Directory); //获取文件目录路径
Console.WriteLine(file.Extension); //获取文件格式 }
//Console.WriteLine(GetFoldAll(Path));
Console.ReadKey(); }
}
}
附:
如何获取指定目录包含的文件和子目录:
1. DirectoryInfo.GetFiles():获取目录中(不包含子目录)的文件,返回类型为FileInfo[],支持通配符查找;
2. DirectoryInfo.GetDirectories():获取目录(不包含子目录)的子目录,返回类型为DirectoryInfo[],支持通配符查找;
3. DirectoryInfo. GetFileSystemInfos():获取指定目录下(不包含子目录)的文件和子目录,返回类型为FileSystemInfo[],支持通配符查找;
如何获取指定文件的基本信息:
FileInfo.Exists:获取指定文件是否存在;
FileInfo.Name,FileInfo.Extensioin:获取文件的名称和扩展名;
FileInfo.FullName:获取文件的全限定名称(完整路径);
FileInfo.Directory:获取文件所在目录,返回类型为DirectoryInfo;
FileInfo.DirectoryName:获取文件所在目录的路径(完整路径);
FileInfo.Length:获取文件的大小(字节数);
FileInfo.IsReadOnly:获取文件是否只读;
FileInfo.Attributes:获取或设置指定文件的属性,返回类型为FileAttributes枚举,可以是多个值的组合
FileInfo.CreationTime、FileInfo.LastAccessTime、FileInfo.LastWriteTime:分别用于获取文件的创建时间、访问时间、修改时间;
【欢迎转载】
转载请表明出处: 乐学习
System.IO中的File、FileInfo、Directory与DirectoryInfo类(实例讲解)的更多相关文章
- CMake error:System Error:No such file or directory CMake error:Could not open file for write in copy operation xxxx.ros_Config.cmake.tmp.
微型电脑或嵌入式与电脑还是有点不同的,在微型电脑上ros indigo 版本下利用catkin编译如果你遇到如下错误: CMake error:System Error:No such file or ...
- (转)使用 CJSON 在C语言中进行 JSON 的创建和解析的实例讲解
使用 CJSON 在C语言中进行 JSON 的创建和解析的实例讲解 本文用代码简单介绍cjson的使用方法,1)创建json,从json中获取数据.2)创建json数组和解析json数组 1. 创 ...
- C# Directory和DirectoryInfo类(文件目录操作)
对目录操作例子: using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...
- File,FileInfo,Directory,DirectoryInfo
两者的共同点: 一:都用于典型的操作,如复制.移动.重命名.创建.打开.删除和追加到文件 二:默认情况下,将向所有用户授予对新文件的完全读/写访问权限. 两者的区别: File类是静态类, ...
- Linux System Programming note 8 ——File and Directory Management
1. The Stat Family #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> ...
- 使用 CJSON 在C语言中进行 JSON 的创建和解析的实例讲解
本文用代码简单介绍cjson的使用方法,1)创建json,从json中获取数据.2)创建json数组和解析json数组 1. 创建json,从json中获取数据 #include <stdio. ...
- 关于android studio中使用class.forname()方法动态获取类实例报NO CLASS FOUND异常的几种处理方法
最近在做一个项目的时候需要用到反射来回调子类的方法,但是在反射过程中总是在class.forname()方法抛出NO CLASS FOUND异常,经过几部检查,问题解决,在此总结一下引起该问题的原因 ...
- C#回顾 - 2.NET的IO:Path、File、FileInfo、Directory、DirectoryInfo、DriveInfo、FileSystemWatcher
1.管理文件系统 一般而言,应用程序都会有保存数据.检索数据的需求. 1.1 使用 path 类来访问文件路径 [path常用的方法]:http://www.cnblogs.com/tangg ...
- move file create directory.
If we want to move file to the directory that does not exist,and if we perform a File.Move,it will r ...
随机推荐
- CSS之圣杯布局与双飞翼布局
圣杯布局 三行等高 HTML: <!DOCTYPE html><html><head> <meta charset="utf-8"& ...
- python string module
String模块中的常量 >>> import string >>> string.digits ' >>> string.letters 'ab ...
- DB设计原则(二)如何拆、分表
不要盲目为了减少表的数量,而使某一张表的字段过多,而导致表冗余列存在
- 【MySQL】探究之常用SQL
一些SQL命令(不断更新,我总记不住,哭) List 建库建表 表的重命名(不区分大小写) 列的重命名 编码 修改结构 添加删除索引 大批量删除 binlog相关 select相关 数据库备份和恢复 ...
- RMAN_学习笔记5_RMAN Catalog Script恢复目录脚本
2014-12-24 Created By BaoXinjian
- String字符串
主要来源:http://www.cnblogs.com/devinzhang/archive/2012/01/25/2329463.html http://blog.csdn.net/qh_java/ ...
- Javascript 基础知识学习--javascript中的参数传递都是按值传递的
ECMAScript中所有函数的参数传递都是按值传递的,无论参数是值类型还是引用类型的.过去我跟大多数人一样觉得跟传值类型相关. 自己写了一个测试的例子,确实如此 function add(a) { ...
- 继承自NSObject的不常用又很有用的函数(2)
函数调用 Objective-C是一门动态语言,一个函数是由一个selector(SEL),和一个implement(IML)组成的.Selector相当于门牌号,而Implement才是真正的住户( ...
- ReSharper 文件注释
添加文件注释方法如下: 打开菜单RESHARPER->Options->Code Editing –> File Header Text 如图所示,在其中空白处添加对应文件头注释, ...
- Flex 加载 wmf,svg
最近做gis系统发现要在flex加载wmf图片.我记得flash的loader只能是png,gis,jpg.wmf格式居然是window出的,flash居然不支持我也是醉了,没办法,只能后台转格式,首 ...