Skip to content

XiaoFeng.IO 文件库

Jacky edited this page Nov 22, 2023 · 2 revisions

FileHelper 文件操作类

操作文件,目录扩展方法

基本使用方法

//假设当前项目目录在 E://Work/WebSite 目录下
//获取当前项目的绝对根路径
var a = "".GetBasePath();
//a 最后的值就是 E://Work/WebSite
//获取当前文件的绝对路径,当前文件 Config/a.json是在项目根目录下
var b = "Config/a.json".GetBasePath();
// b 最后的值就是 E://Work/WebSite/Config/a.json
//获取当前项目所在磁盘的根目录路径
var c = "/Config/a.json".GetBasePath();
//c 最后值就是 E://Config/a.json

//文件或目录是否存在
FileHelper.Exists("Config/a.json");
FileHelper.Exists("Config");
//当前目录是否存在
FileHelper.Exists("Config",FileAttribute.Directory);
//创建文件或目录
FileHelper.Create("Config/a.json");
FileHelper.Create("Config");
FileHelper.Create("Config/a.json",FileAttribute.File);
FileHelper.CreateDirectory("Config");
FileHelper.Create("Config/a.json","文件内容",Encoding.UTF8);
//删除文件或目录
FileHelper.Delete("Config/a.json");
FileHelper.DeleteFile("Config/a.json","Config/b.json");
FileHelper.Delete("Config");
FileHelper.DeleteDirectory("Config","UploadFiles");
//删除当前目录,如果当前目录为空继续往上判断是否为空,如果为空则继续删除,一直删除到目录为Config为止
FileHelper.DeleteDirectoryEmpty("Config/ab/c/d","Config")
//读取文件内容
FileHelper.OpenText("Config/a.json",Encoding.UTF8);
FileHelper.OpenBytes("Config/a.json");

//读取文件头类型
FileHelper.OpenReadMime("Config/a.json");
//写文件内容
FileHelper.WriteText("Config/a.json","要写的文件内容",Encoding.UTF8);
FileHelper.WriteBytes("Config/a.json","要写的文件内容".GetBytes());

//附加文件内容
FileHelper.AppendText("Config/a.json","附加的内容",Encoding.UTF8);
FileHelper.AppendBytes("Config/a.json","附加的内容".GetBytes());
//重命名文件或目录
//把文件名为a.json重命名为b.json
FileHelper.Rename("Config/a.json","Config/b.json");
//移动文件
FileHelper.MoveFile("Config/a.json","Configa/b.json");
//移动目录下所有文件及目录
FileHelper.MoveDirectory("Config","Configa");
//复制文件
FileHelper.CopyFile("Config/a.json","Config/b.json");
//复制目录
FileHelper.CopyDirectory("Config","Configa");
//计算文件夹大小
FileHelper.GetFolderSize("Config");
//字节转相应单位
FileHelper.ConvertByte(1024000);
//项目根目录
FileHelper.GetCurrentDirectory();
//获取文件编码
FileHelper.GetEncoding(FileHelper.OpenBytes("Config/a.json"));
//文件后缀名
FileHelper.GetExtension("Config/a.json");
//文件名和后缀名
FileHelper.GetFileName("Config/a.json");
//转成文件信息
FileInfo  fileInfo = "Config/a.json".ToFileInfo();
//设置当前项目目录
FileHelper.SetCurrentDirectory("wwwroot");
//合并目录
FileHelper.Combine("Config","a.json");

XiaoFeng.IO.CSVStreamWriter,XiaoFeng.IO.CSVStreamReader

CSV文件读写器

XiaoFeng.IO.CSVStreamWriter 写入器

var writer = new XiaoFeng.IO.CSVStreamWriter("Config/a.csv");
writer.Write("a,b,c");
writer.Write(new string[][]{new string[]{"a","b","c"},new string[]{"d","e","f"}});
writer.Close()

XiaoFeng.IO.CSVStreamReader 读取器

var reader = new XiaoFeng.IO.CSVStreamReader("Config/a.csv");
//读取一行数据
var line = reader.ReadLine();
//读取所有数据 字符串
var all = reader.ReadToEnd();
//读取所有数据 数组
var alla = reader.ReadLines();
//读取数据到DataRow
var dr = reader.ReadRow();
//读取数据到DataTable
var dt = reader.ReadTable();

XiaoFeng.IO.MemoryBufferReader,XiaoFeng.IO.MemoryBufferWriter

内存写入器,读取器

增强了内存流的读写器