C#文件操作笔记
FileInfo和DirectoryInfo类是用来读取文件和文件夹熟悉,查看文件数学,创建文件夹,移动文件夹,判断路径是否存在,创建目录等操作
都放在了命名空间 using System.IO 下
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是用来创建实例
Directory是用来调用静态方法
//文件夹操作
DirectoryInfo myFolder=new DirectoryInfo(@"C:\Users\LENOVO\Desktop\C Shape Advanced\24-文件操作\新文件夹\");
//创建新文件夹
myFolder.Create();
//判断文件夹是否存在
// myFolder.Exists("路径");
//判断文件夹是否存在 方法二
Directory.Exists("路径");
CreationTime 创建文件或文件夹的时间
DirectoryName (仅用于文件) 文件 包含文件夹的完整路径
Parent(仅用于文件夹) 指定子目录的父目录
Exists 文件或文件夹是否存在
Extension 文件的扩展名,对于文件夹,它返回空白
FullName 文件或文件夹的完整路径名
LastAccessTime 最后一次访问文件或文件夹的时间
LastWriteTime 最后一次修改文件或文件夹的时间
Name 文件或文件夹的名称
Root(仅用于文件夹) 文件夹的跟部分
Length(仅用于文件) 返回文件的大小
Create() 创建给定名称的文件夹或者空文件,对于FileInfo,该方法会返回一个流对象,以便写入文件。
Delete() 删除文件或文件夹。对于文件夹有一个可以递归的Delete选项
MoveTo() 移动或重命名文件或文件夹
CopyTo() (只适用于DirectoryInfo)复制文件,文件夹没有复制方法,如果想要复制完整的目录树,需要单独复制每个文件和文件夹。
GetDirectories() (只适用于DirectorInfo)返回DirectorInfo对象数组,该数组表示文件夹中包含的所有文件夹
GetFiles() (只适用于DirectorInfo)返回FileInfo对象数组,该数组表示文件夹中所有的文件
GetFileSystemInfos() (只适用于DirectoryInfo)返回FileInfo和DirectoryInfo对象,它把文件夹中包含的所有对象表示为一个FileSystemInfo引用数组
FileStream
SereamReader(读取流-读取数据)
SereamWriter(写入流-向别人传输)
我们不能去实例化 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);
}
什么是流
流是一种数据的处理方式为什么使用流处理数据?
数据小,可以直接一次性搬运,数据大,可以把数据当做水,接一个水管,一点一点搬运。
流媒体
流是一个用于传输数据的对象,数据可以向两个方向传输:
如果数据从外部源传输到程序中,这就是读取流如果数据从程序传输到外部源中,这就是写入流
外部源可能是
一个文件网络上的数据内存区域上