(1)通过FileInfo和DirectoryInfo来读取文件和文件夹属性
查看文件属性,创建文件,移动文件,重命名文件
判断路径和文件夹是否存在,创建文件
(2)通过File读写文件:
(3)使用流来读写文件
FileStream, StreamReader:读取文件流
StreamWriter:写入文件流
头文件
using System.IO;
创建文件:文件要放入相对路径
导入文件:FileInfo file = new FileInfo("Info.txt"); 相对路径:设置文件属性Copy To OutPut 为Copy Always
绝对路径:将文件的根目录放进来
文件的一些属性:
FileName.Exists //判断文件是否存在返回True和False
FileName.Name //返回文件名+后缀
FIleName.DIrectory //获取文件所在路径
FileName.IsReadOnly //判断是否仅仅可读
FileName.Delete() //删除文件
//如果当前文件不存在 则创建文件
if(file.Exists == false)
{
file.Create();
}
//文件复制
file.CopyTo("tt.txt");
文件夹操作:
DirectoryInfo dirInfo = new DirectoryInfo(@文件目录);
dirInfo.Exists 目录是否存在
dirInfo.Name 文件名
dirInfo.Parent 父文件夹
dirInfo.Root 根目录
dirInfo.CreationTime 创建时间
dirInfo.CreateSubdirectory(文件夹名) 在文件夹中创建文件
使用FIleStream读写非文本文件: 二进制形式
FIleStream Stream = new FileStream(文件名, 文件打开类型)
byte[] data = new byte[Stream.Length]; //用来存储文件流
文件以二进制形式进行读取
Stream.Read(data, 0,data.Length); 读取的内容 偏移量 内容长度
文件会多次读取
所以要加上循环
while (true)
{
int length = Stream.Read(data, 0,data.Length);
if(length == 0)
{
Console.WriteLine("读取完毕...");
break;
}
for(int i =0; i<length; ++i)
{
Console.WriteLine(data[i] + ""); //显示文件内容
}
}
文件的写入:
FileStream pngStream = new FileStream(读取的文件, FileMode.Open);
byte[] pngData = new byte[pngStream.Length];=
FileStream newPngStream = new FileStream(要写入的文件名, FileMode.Create); //要写入的文件
同理:
while (true)
{
int length = Stream.Read(pngData, 0, pngData.Length);
if(length == 0)
{
Console.WriteLine("写入完毕...");
break;
}
else
{
newPngStream.Write(data, 0, length);
}
}
读取和写入完毕后记得关闭句柄
Stream.Close
用stremReader读取指定行数:
FileStream file = new FileStream("CCSS.txt", FileMode.Open,FileAccess.Read);
StreamReader reader = new StreamReader(file);
//读取文件
string str;
int i = 0;
while ((str = reader.ReadLine())!=null)
{
i++;
if (i <= 9) //读取前9行
{
Console.WriteLine(str);
}
}