C#-文件操作
文件处理
1.引入命名空间
using System.IO; //处理文件流的命名空间
2.创建与删除文件
// 创建一个文件,File类,File是静态类
string strFilePath = "text.txt";
File.Create(strFilePath);
Console.WriteLine("文件创建成功");
// 删除文件
File.Delete(strFilePath);
Console.WriteLine("文件删除成功");
文件夹处理
// 文件夹的创建
string strDir = "testDir";
Directory.CreateDirectory(strDir);
Console.WriteLine("文件夹创建成功");
Directory.Delete(strDir);
Console.WriteLine("删除文件夹成功");
向文件中写入数据
流数据写入需要用到FileStream,StreamWriter静态类,使用完后需要关闭和释放资源
string strFilePath = "text.txt";
// 向文件中写入数据
// 流的概念:字符或者字节序列的集合
FileStream fstream = new FileStream(strFilePath, FileMode.OpenOrCreate);
StreamWriter swriter = new StreamWriter(fstream);
swriter.Write("Hello,World!");
// 流用完后,需要关闭流和释放流的资源
swriter.Close(); // 关闭流
fstream.Close();
swriter.Dispose(); // 释放流所占用资源
fstream.Dispose();
Console.WriteLine("写入数据完毕!");
从文件中读取数据
// 从文件中读取数据
StreamReader sReader = new StreamReader(strFilePath);
string strRead = sReader.ReadToEnd();
Console.WriteLine("从文件中读取数据" + strRead);
sReader.Close();
sReader.Dispose();
读取数据的方法:
1.文件流读取
string strFilePath = "text.txt";
FileStream fstream = new FileStream(strFilePath,FileMode.OpenOrCreate); //文件流(字符或字符序列的集合)
StreamReader reader = new StreamReader(fstream);
string strResult = reader.ReadToEnd();
Console.WriteLine("读出数据:" + strResult);
// 关闭流
reader.Close();
fstream.Close();
// 流资源释放
reader.Dispose();
fstream.Dispose();
2.转成字节码进行编码处理进行文件读取
string strFilePath = "text.txt";
FileStream fstream = new FileStream(strFilePath,FileMode.OpenOrCreate); //文件流(字符或字符序列的集合)
// 转成字节码在经过编码处理
// 构建字节码
Byte[] bytes = new Byte[fstream.Length];
// 把流的数据读到字节码中
fstream.Read(bytes, 0, (int)fstream.Length);
// 此时需要转码操作
string strGetDate = System.Text.Encoding.UTF8.GetString(bytes);
Console.WriteLine("经过字节转码的数据:"+strGetDate);
fstream.Close();
fstream.Dispose();
通过字节码编码后写入文件
string strFilePath = "text.txt";
FileStream fstream = new FileStream(strFilePath,FileMode.OpenOrCreate); //文件流(字符或字符序列的集合)
Console.WriteLine("请输入数据");
string strGet = Console.ReadLine();
// 需要把字符串进行转码,转成字节数组
Byte[] getBytes = System.Text.Encoding.UTF8.GetBytes(strGet);
// 把字节数组写入到文件流中
fstream.Write(getBytes, 0, getBytes.Length);
fstream.Flush(); // 清除缓存区内容
fstream.Close();
fstream.Dispose();