文件流操作
创建一个文件流:【读入流】,使用到的参数:文件的地址、打开文件的方式、文件的访问权限
using (FileStream fs = new FileStream(文件地址, FileMode.Open, FileAccess.Read))
{
//创建一个内存【缓冲区】,用于存储读取到的文件流(字节块)
byte[] buffer = new byte[fs.Length];
//从【流】中读取【字节块】并将该数据写入给定缓冲区中
fs.Read(buffer, 0, buffer.Length);
//使用默认的字符编码集,将字节数组转换成字符串
rtb_info.Text = Encoding.Default.GetString(buffer);
//fs.Close();
//fs.Dispose();
}
创建一个文件流:【输出流】,使用到的参数:文件的地址、打开文件的方式、文件的访问权限
打开文件的方式 表示文件是读取还是写入
using (FileStream fs = new FileStream(文件地址, FileMode.Create, FileAccess.Write))
{
string str = rtb_info.Text;
//使用默认的字符编码集,将字符串转换成字节数组
byte[] buffer = Encoding.Default.GetBytes(str);
// 将字节块写入文件流
fs.Write(buffer, 0, buffer.Length);
}
文件流读取 字符的编码格式
using (StreamReader sr = new StreamReader(地址, Encoding.Default))
{
string str = sr.ReadToEnd();//读取所有内容
rtb_info.Text = str;
}
文件流的写入 表示如果有这个文件就追加文字,如果没有就创建一个文件 编码格式
using (StreamWriter sw = new StreamWriter(地址, true, Encoding.Default))
{
string str = rtb_info.Text;
sw.Write(str);
}
获取当前应用程序的基目录
AppDomain.CurrentDomain.BaseDirectory;
用于合并地址,不用担心\等字符
Path.Combine
//获取电脑上的所有驱动器信息
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo dirve in drives)
{
DirectoryInfo dir = dirve.RootDirectory;//获取驱动器的根目录信息
var files = dir.GetFiles();//获取文件夹中所有文件信息
var dirs = dir.GetDirectories();//获取文件夹中所有子目录信息
}
//根据指定的目录路径,实例化一个目录信息
DirectoryInfo dirInfo = new DirectoryInfo(dirPath);
var files = dirInfo.GetFiles();//获取目录下所有的文件信息
var dirs = dirInfo.GetDirectories();//获取目录下多所有的子目录信息
//删除文件
File.Delete(文件地址);
//复制文件 第三个参数的 True 代表 可以覆盖
File.Copy(原地址,复制到什么地址, true);
移动文件,先删除原先的文件
//移动文件 原地址 现地址
File.Move(filePath, destFileName);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)