随笔 - 44  文章 - 1  评论 - 3  阅读 - 47703

文件流操作

 

创建一个文件流:【读入流】,使用到的参数:文件的地址、打开文件的方式、文件的访问权限
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);

 

posted on   程铭  阅读(263)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示