• IO文件读写操作


    如果是操作文本文件类型

    推荐使用:  StreamReader、StreamWriter

    示例:StreamWriter 用于写入,可以使用 WriteLine(xxx) 函数将内容写入指定文件当中

     1 try
     2 {
     3     //StreamWriter用于将内容写入文本文件中
     4     //path: 要写入文件的路径
     5     //append: true 将数据追加到该文件的末尾; false 覆盖该文件。
     6     //Encoding.UTF8  写入的编码格式
     7     //如果指定的文件不存在,构造函数将创建一个新文件。
     8     using (StreamWriter sw = new StreamWriter(@"D:aaa.txt", true, Encoding.UTF8))
     9     {
    10         sw.WriteLine("我是老大");
    11         sw.WriteLine("我是老三");
    12         sw.WriteLine("我是老四");
    13         sw.WriteLine("我是老五");
    14         sw.Close();
    15     }
    16     Console.WriteLine("写入成功了。。。");
    17 }
    18 catch (Exception ex)
    19 {
    20     Console.WriteLine(ex.Message);
    21 }

    如果文件不存在,会自动创建。

     StreamReader  用于读取,ReadLine 表示一行行读取,还有其他读取方法,具体到程序集查看即可

     1 //StreamReader用法
     2 try
     3 {
     4     using (StreamReader sr = new StreamReader(@"D:aaa.txt", Encoding.UTF8))
     5     {
     6         while (true)
     7         {
     8             var str = sr.ReadLine();  //一行行的读取
     9             if (str == null)          //读到最后会返回null
    10             {
    11                 break;
    12             }
    13             Console.WriteLine(str);
    14         }
    15         sr.Close();
    16     }
    17     Console.WriteLine("读取结束了。。。");
    18 }
    19 catch (Exception ex)
    20 {
    21     Console.WriteLine(ex.Message);
    22 }

    如果是操作 其他类型的文件(包括文本文件),可以使用 FileStream,

    比如我们操作一张图片文件

     1 //FileStream 用法  读取文件
     2 try
     3 {
     4     //FileMode.OpenOrCreate   表示文件不存在,会创建一个新文件,存在会打开
     5     using (Stream fs = new FileStream(@"D:123.jpg", FileMode.OpenOrCreate))
     6     {
     7         byte[] bt = new byte[fs.Length];  //声明存放字节的数组
     8         while (true)
     9         {
    10             var num = fs.Read(bt, 0, bt.Length);   //将流以byte形式读取到byte[]中
    11             if (num <= 0)
    12             {
    13                 break;
    14             }
    15         }
    16         fs.Close();
    17 
    18 
    19         //将 123.jpg 文件中读到byte[]中,然后写入到 456.jpg
    20         //FileAccess.ReadWrite  表示支持读和写操作
    21         using (Stream fs2 = new FileStream(@"D:456.jpg", FileMode.OpenOrCreate, FileAccess.ReadWrite))
    22         {
    23             //设置字节流的追加位置从文件的末尾开始,如果文件不存在,只默认0开始
    24             fs2.Position = fs2.Length;
    25 
    26             //将待写入内容追加到文件末尾  
    27             fs2.Write(bt, 0, bt.Length);
    28 
    29             //关闭
    30             fs2.Close();
    31         }
    32     }
    33 }
    34 catch (Exception ex)
    35 {
    36     Console.WriteLine(ex.Message);
    37 }

    生成效果如下

  • 相关阅读:
    【Python-Django模型迁移】用户数据库模型的迁移(对其他数据库迁移同样适用)!!!
    【Python-Django定义用户模型类】Python-Django定义用户模型类详解!!!
    【OpenCV-ANN神经网络自动驾驶】树莓派OpenCV神经网络自动驾驶小车【源码+实物】
    【Python-Django】Jinja2模板引擎配置教程详解!!!!
    js实现事件委托
    前端里面如何进行搜索引擎优化(SEO)
    ajax的优缺点
    css中px,em,rem,rpx的区别
    margin与padding的bug
    css3动画:transition和animation
  • 原文地址:https://www.cnblogs.com/peterzhang123/p/13680795.html
Copyright © 2020-2023  润新知