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();

猜你喜欢

转载自www.cnblogs.com/carious/p/10672359.html
今日推荐