1.1文本文件的读写
FileStream f=new FileStream("1.txt",FileMode.Create);//创建一个1.txt
FileStream f=new FleStream("1.txt",FileMode.Open);//打开一个1.txt
//读取文件
StramReader m=new StreamReader(f);
string s="";
While(!m.EndOfStream) //判断文本文件是否到流的末尾
{
s+=m.ReadLine();
}
m.Close();
f.Close();
//写入文件
StreamWriter n=new StreamWriter(f);
string s="";
n.Write(s); //s可以为double/int /char/string类型
n.Close();
f.Close();
1.2二进制文件流读写
FileStream f=new FleStream("1.txt",FileMode.Open);//打开一个1.dat
//二进制文件读取
BinaryReader m=new BinaryReader(f);
m.ReadBoolean(); //读取bool类型值
m.ReadInt32(); //ReadInt64()/ReadString()
m.Close();
f.Close();
//写入文件
string s=""; //s可以为double/int /char/string类型
BinaryWriter n=new BinaryWriter(f);
n.Write(s);
n.Close();
f.Close();
1.3File类的文件操作及文件信息获取
bool s=File.Exists("1.txt"); //判断文件是否存在bool
File.Move(path1,path2); //将文件从path1移动到path2
File.Copy(path1,path2); //将文件从path1拷贝到path2
File .Delete("1.txt");//删除文件
DateTime d= File.GetCreationTime ("1.txt");//获取文件创建时间
DateTime d=File .GetLastAccessTime ("1.txt");//获取上次访问文件的日期和时间
DateTime d=File .GetLastWriteTime ("1.txt");//获取上次修改文件的日期和时间
//修改时间
DateTime d=DateTime .Now ;
File .SetCreationTime ("1.txt",d);//设置文件创建时间
File .SetLastAccessTime ("1.txt",d);//设置文件上次修改时间
File .SetLastWriteTime ("1.txt",d);//设置文件上次写入时间
1.4FileInfo 类的文件操作
FileInfo类的文件操作
FileInfo类提供的许多方法类似于File类的方法,但是File类是静态类,这是不同之处。 FileInfo aFile = new FileInfo("1.txt");
if (aFile.Exists) //判断文件是否存在
{
Console.WriteLine("File Exist!");
}
string s = aFile.FullName;//获得文件完整路径
string s = aFile.Name;//获得文件完整路径
string s = aFile.Extension;//获得文件扩展名
string s = aFile.DirectoryName;//获得文件目录的路径
int len = aFile.Length;//获得文件的容量
bool s = aFile.IsReadOnly;//判断文件是否只读
DateTime d = aFile.LastAccessTime;//获得文件最后访问时间
DateTime d = aFile.LastWriteTime;//获得文件最后写入时间
1.5 Directory类文件操作
Directory类也是静态类,主要函数如下操作:
string s = "D://FileDocument";
string src="D://3";
string dst="D://FileDocument//";
Directory.CreateDirectory(s);//在D盘创建文件夹FileDocument
Directory.Delete(s);//删除D盘FileDocument文件夹,该文件夹必须可写或为空
string[] num = Directory.GetDirectories(s);//返回D盘FileDocument 文件夹内所有文件夹的路径数组string[],即目录名数组
string[] nm = Directory.GetFiles(s);//返回D盘FileDocument文件夹内所有文件的路径数组string[],不包括文件夹目录
string[] numS = Directory.GetFileSystemEntries(s);//返回D盘FileDocument文件夹内所有文件及目录的路径数组string[]
Directory.Move(src, dst);//把D盘文件3重命名为D盘文件FileDocument,该文件之前不可存在,执行该命令时重建
注意:DirectoryInfo类作用类似于FileInfo类,是一个实例化的对象
1.5FileStream读取文件操作
FileStream可以读取任何文件,包括声音和视频文件,但是只能处理原始字节,即,只能把文件内容保存在一个byte[]数组中,不过我们可以通过几种转换类可以很容易的将字节数组转换为字符数组,或将字符数组转换为字节数组。
byte[] byData = new byte[100];
char[] charData = new char[100];
FileStream aFile=new FileStream ("1.dat",FileMode .Open );
aFile.Seek(100, SeekOrigin.Begin);//从文件开头开始,将文件指针偏移100个字节
aFile.Read(byData, 0, 100);//从当前指针位置,读取100个字节到byData数组中
Decoder d = Encoding.UTF8.GetDecoder();
d.GetChars(byData, 0, byData.Length, charData, 0);//在byData中索引为0的位置开始,读取byData长度的字节数到字节数组charData中,位置是从charData的0索引位置开始
byData = Encoding.UTF8.GetBytes(charData);//将字符数组转换为字节数组
aFile .Seek (0, SeekOrigin.Begin );//把指针位置偏移到文件开头
aFile.Write(byData, 0, byData.Length);//把byData数组内容写入文件中,开始位置为0索引处