C#文件操作笔记
FileInfo和DirectoryInfo类是用来读取文件和文件夹熟悉,查看文件数学,创建文件夹,移动文件夹,判断路径是否存在,创建目录等操作
都放在了命名空间 using System.IO 下
通过File读写文件
FileInfo myFile = new FileInfo(@"C:\Users\LENOVO\Desktop\C Shape Advanced\24-文件操作\TextFile1.txt");
//复制文件到指定文件
myFile.CopyTo(@"C:\Users\LENOVO\Desktop\C Shape Advanced\24-文件操作\TextFile12.txt");
//复制文档 方法二
File.Copy(@"C:\Users\LENOVO\Desktop\C Shape Advanced\24-文件操作\TextFile11.txt", @"C:\Users\LENOVO\Desktop\C Shape Advanced\24-文件操作\TextFile12.txt");
通过DirectoryInfo
DirectoryInfo是用来创建实例
Directory是用来调用静态方法
//文件夹操作
DirectoryInfo myFolder=new DirectoryInfo(@"C:\Users\LENOVO\Desktop\C Shape Advanced\24-文件操作\新文件夹\");
//创建新文件夹
myFolder.Create();
//判断文件夹是否存在
// myFolder.Exists("路径");
//判断文件夹是否存在 方法二
Directory.Exists("路径");
FIleInfo 和 DirectoryInfo 的属性列表
CreationTime 创建文件或文件夹的时间
DirectoryName (仅用于文件) 文件 包含文件夹的完整路径
Parent(仅用于文件夹) 指定子目录的父目录
Exists 文件或文件夹是否存在
Extension 文件的扩展名,对于文件夹,它返回空白
FullName 文件或文件夹的完整路径名
LastAccessTime 最后一次访问文件或文件夹的时间
LastWriteTime 最后一次修改文件或文件夹的时间
Name 文件或文件夹的名称
Root(仅用于文件夹) 文件夹的跟部分
Length(仅用于文件) 返回文件的大小
FIleInfo 和 DirectoryInfo 的方法列表
Create() 创建给定名称的文件夹或者空文件,对于FileInfo,该方法会返回一个流对象,以便写入文件。
Delete() 删除文件或文件夹。对于文件夹有一个可以递归的Delete选项
MoveTo() 移动或重命名文件或文件夹
CopyTo() (只适用于DirectoryInfo)复制文件,文件夹没有复制方法,如果想要复制完整的目录树,需要单独复制每个文件和文件夹。
GetDirectories() (只适用于DirectorInfo)返回DirectorInfo对象数组,该数组表示文件夹中包含的所有文件夹
GetFiles() (只适用于DirectorInfo)返回FileInfo对象数组,该数组表示文件夹中所有的文件
GetFileSystemInfos() (只适用于DirectoryInfo)返回FileInfo和DirectoryInfo对象,它把文件夹中包含的所有对象表示为一个FileSystemInfo引用数组
使用流来读写文件
FileStream
SereamReader(读取流-读取数据)
SereamWriter(写入流-向别人传输)
Path类
我们不能去实例化 Path 类,Path 类提供了一些静态方法,可以更容易的对路径名执行操作,Console.WriteLine(Path.COmbine(@“c:\my documents”,“Readme.txt”));
在不同的操作系统上,路径的表示是不一样的windows上是\ ,在Unix就是/ ,哦们可以使用 Path.Combine连接两个路径,不用关系在那个系统上。
//将字符串数组合成一个路径
Path.Combine("E:", "VS WorkSpace");//输出 E:\VS WorkSpace
Path 类的一些静态字段
AltDirecorySeparatorChar 提供分割目录的字符,在Windows上使用 \ 在Unix上使用 /
DirectorySpeparatorChar 提供分割目录的字符,在Windows上使用 \ 在Unix上使用 /
PathSaparator 提供一种与平台无关的方式,来指定划分环境变量的路径字符串,默认为分好
读写文件
通过File 可以读写文件
1,File.ReadAllText(FilePath);根据文件路径读取文件中所有的文本
2,File.ReadAllText(FilePath,Encoding); //Encoding可以指定一个编码格式
Encoding.ASCIl ;
3,File.ReadAllBytes()方法可以打开二进制文件把内容读入一个字节数组
4,File.ReadAllLines()以行的形式读取文件,一行一个字符串,返回一个字符串的数组
//读取文档中的所有内容
string text= File.ReadAllText(@"C:\Users\LENOVO\Desktop\C Shape Advanced\24-文件操作\TextFile1.txt");
Console.WriteLine(text);
string[] strArray=File.ReadAllLines(@"C:\Users\LENOVO\Desktop\C Shape Advanced\24-文件操作\TextFile1.txt");
foreach (string str in strArray)
{
Console.WriteLine(str);
}
流
什么是流
流是一种数据的处理方式为什么使用流处理数据?
数据小,可以直接一次性搬运,数据大,可以把数据当做水,接一个水管,一点一点搬运。
流媒体
流是一个用于传输数据的对象,数据可以向两个方向传输:
如果数据从外部源传输到程序中,这就是读取流如果数据从程序传输到外部源中,这就是写入流
外部源可能是
一个文件网络上的数据内存区域上