C#文件流

//处理文件流的命名空间
using System.IO
//创建一个文件,File类,File类是静态类
string strFilePath="E:\\text.txt";      //给出一个文件路径
File.Create(strFilePath);              //在指定路径下创建文件
Console.WriteLine("文件创建成功");

//删除指定路径文件
File.Delete(strFilePath);       //没有权限或者路径文件不存在会出现异常

//创建文件夹,对于文件夹的静态操作类Directory
string strDir="E:\\这是一个文件夹";
Directory.CreateDirectory(strDir);
Console.WriteLine("文件夹创建成功");
//删除文件夹
Directory.Delete(strDir);
Console.WriteLine("文件夹删除成功");
//判断文件是否存在
if(!File.Exists(strFilePath))  //不存在就创建
{
    File.Create(strFilePath);
}



//////--------------文件操作1
写入数据
//创建一个文件
string strFilePath="E:\\text.txt";      //给出一个文件路径
File.Create(strFilePath);              //在指定路径下创建文件
//流:字符或者字节序列的集合
//FileStream fstream = new FileStream(strFilePath,FileMode.OpenOrCreate);  //有就打开,没有就创建
StreamWriter swriter= new StreamWriter(strFilePath);
swriter.Write("通过文件流写入的数据");
//流用完,关闭/释放
swriter.Close();//关闭流
//fstream.Close();
swriter.Dispose();//释放流的资源
//fstream.Dispose();
Console.WriteLine("写入数据完毕");


//读取文件中的数据
StreamReader reader=new StreamReader(strFilePath);
string strRead =reader.ReadToEnd();  //读取整个文件的数据
Console.WriteLine("从文件中读取数据:"+strRead);
reader.Close();//流关闭
reader.Dispose();//流释放




//////-----------------文件操作2
//简要流程
//文件流(字节或字符序列的集合)
FileStream fstream=new FileStream("D://test.cs",FileMode.OpenOrCreate);
StreamReader reader=new StreamReader(fstream);
string strResult=reader.ReadToEnd();
Console.WriteLine("读出的数据:"+strResult);
//流用完需要关闭
reader.Close();
fstream.Close();
//流用完需要释放
reader.Dispose();
fstream.Dispose();


//////第二种方式读取文件数据,转成字节码后然后再通过编码处理,后得到数据
FileStream fstream=new FileStream("D://test.cs",FileMode.OpenOrCreate);
//构建字节码
Byte[] bytes=new Byte[fstream.Length];   //开辟相应的长度
//把流的数据读取到字节码中
fstream.Read(bytes,0,(int)fstream.Length);  //从0的索引值开始
//此时需要转码操作,按照一定的编码格式将字节码转换成字符串
string strGetData=System.Text.Encoding.UTF8.GetString(bytes);
Console.WriteLine("经过字节转码的数据"+strGetData);
fstream.Close();
fstream.Dispose();

//通过字节转码将数据写入文件中
FileStream fstream=new FileStream("D://test.cs",FileMode.OpenOrCreate);
string str=Console.ReadLine();
//字符串数据转成字节数组
Byte[] getBytes=System.Text.Encoding.UTF8.GetBytes(str);
//字节数组写入文件流
fstream.Write(getBytes,0,getBytes.Length);
fstream.Flush();//清除缓冲区
fstream.Close();
fstream.Dispose();

 

posted @ 2019-09-02 10:18  LBC不认输  阅读(303)  评论(0编辑  收藏  举报