C#文件操作大全(简)
【
System.IO
命名空间】
分类:
(1)用于
I/O
文件的类:
Directory
DirectoryInfo
File
FileInfo
FileStream
(2)用于从流读取和写入流的类:
StreamReader
StreamWriter
BinaryReader
BinaryWriter
通用I/O流类
BufferedStream
【导入System.IO】
==================================DirectoryInfo
:用于复制移动重命名创建删除目录的
【实例方法】
实例方法需要创建对象
DirectoryInfo info=new DirectoryInfo(path);
info.
方法;
==================================Directory:
用于复制移动重命名创建删除目录的
【静态方法】
静态方法直接使用类名
.
方法调用
String path ="E:\\C#";
//文件地址
Directory.Exists(path);
//判断目录是否存在
Directory.CreateDirectory(path);
//创建目录
Directory.GetCreationTime(path).ToLongDateString()
;
//获取目录创建的时间
String[]fileNames=Directory.GetFiles(path);//
获取子文件
String[]directoryNames=Directory.GetDirectories(path);//
获取子目录
Directory.Delete(path);
//目录删除
Directory.GetFileSystemEntries(path);//
返回指定目录的所有子目录和文件
Directory.GetCurrentDirectory();//
返回程序当前工作的目录
Directory.GetLastAccessTime(path);//
返回最后访问时间
Directory.GetLastWriteTime(path);//
返回最后修改时间
Directory.GetParent(path);//
返回指定目录的父目录
Directory.Move(要移动的目录,指定目录);//
将目录移动到指定位置
Directory.SetCreationTime(path,日期);
//设置创建日期
Directory.SetCurrentDirectory(path);//
将工作目录设置为指定目录
Directory.SetLastWriteTime(path,时间);//设置最后修改时间
=======================================================FileInfo
:用于创建,复制,删除,移动文件的实例方法实例方法需要创建对象
FileInfo
info=new
FileInfo(path);
info.
方法;
=======================================================File
:
用于创建,复制,删除,移动文件的静态方法,静态方法直接使用类名
.
方法调用
File.方法
File.AppendAllText(path,"",Encoding.Default);//
将指定字符串追加到文件中若文件不存在则创建文件
File.WriteAllText(path,"",Encoding.Default);
//创建新文件并写入内容,然后关闭该文件,目标
文件已存在时覆盖该文件
String[] a=File.ReadAllLines(path,Encoding.Default);//
打开文件并将所有行读入一个字符串,然后关闭该文件
File.OpenRead(path);
//打开指定文件进行读取
【Encoding.Default】
:编码方式
==================================================FileStream
(文件流)
:主要用于
使用二进制方式读写文件数据,可读取任何文件
创建FileStream对象
FileStream
stream=new
FileStream(文件路径,FileMode.Append,FileAccess.ReadWrite,FileShare.None);
//创建FileStream对象
【FileMode】
:指定系统打开文件的方式
FileStream
(CreateNew创建新文件,Creat创建新文件,如果存在则覆盖,Open打开现有文件,
OpenOrcreate打开文件,不存在则创建,Append打开文件查找到文件尾,Truncate
打开文件并清除内容)
【FileAccess】
:指定文件的访问方式(
Read只读,
write只写,
readwrite读写)
【FileShare】
:
控制其他
FileStream
对象对此文件的访问权(none不共享,read
允许随后打开文件并读取,write允许写入,
readwrite允许读写)
例:
FileStreamReader=new
FileStream(path,FileMode.Append,FileAccess.ReadWrite,FileShare.None);//
创建FileStream对象
//读取数据
byte[] aa=new
byte[Reader.Length];
Reader.Read(aa,0,aa.Length);
//将文件中数据读入byte数组aa
Reader.Flush();
Reader.Close();
//
写入数据
FileStreamWrite=new
FileStream(path,FileMode.Append,FileAccess.ReadWrite,FileShare.None);//
创建
FileStream对象
Write.Write(aa,0,aa.Length);
//从aa中取出数据写入文件
Write.Flush();
Write.Close();
Reader.ReadByte();//读取一个字节
reader.Position=6;//绝对定位
Reader.Seek(0,SeekOrigin.Begin);////相对定位
Write.WriteByte(字节);//将一个字节写入当前流
================================================================BufferedStream
:为Stream对象提供缓存,减少IO次数,提高读写效率
BufferedStreamreader=newBufferedStream(Stream对象);
================================================================StreamReader
:以一种特定的编码从字节流中读取字符
================================================================StreamWriter
:以一种特定的编码向字节流中写入字符//创建流先创建
Filestream对象
FileStreamfose=newFileStream("e:\\",FileMode.Append,FileAccess.Read,FileShare.Delete);
根据FileStream对象创建StreamReader或StreamWriter对象
StreamReaderreader=newStreamReader(fose,Encoding.Default);
FileStreamfos=newFile Stream(path,FileMode.Create,FileAccess.Read,FileShare.Inheritable);
StreamWriterwrite=new StreamWriter(fos,Encoding.Default);
int data;
data=reader.Read();//一个一个读取
char[] c=new char[1];
reader.ReadBlock(c,0,c.Length);//将读取的字符放入
char数组String qq=reader.ReadLine();//
读取一行数据 reader.ReadToEnd();//从当前位置读到结尾
writer.Write((char)data);//写入Char型数据
writer.Write(datas,0,len);//写入数组中的指定元素
writer.WriteLine(datas);//写入后换行
write.Write(数据类型);//写入数据,可以是任何基本数据类型