文件流操作

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

原文地址:https://www.cnblogs.com/ShenJA/p/11234307.html