• 文件流操作


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

  • 相关阅读:
    Python全栈 MySQL 数据库 (表字段增、删、改、查、函数)
    Python全栈 MySQL 数据库 (简述 、安装、基本命令)
    Python全栈工程师(异常(高级)、运算符重载)
    Python全栈工程师(多继承、函数重写)
    【洛谷P3796】(模板)AC自动机(加强版)
    【洛谷P3808】(模板)AC自动机(简单版)
    【洛谷P3919】(模板)可持久化数组(可持久化线段树/平衡树)
    【洛谷P3834】(模板)可持久化线段树 1(主席树)
    【洛谷P3369】(模板)普通平衡树
    [USACO12FEB]牛券Cow Coupons
  • 原文地址:https://www.cnblogs.com/ShenJA/p/11234307.html
Copyright © 2020-2023  润新知