C#中File和FileStream的用法
原创 忆汐辰 发布于2019-04-10 11:34:23 阅读数 5841 收藏
展开

在近期的工作过程中发现自己的基础比较薄弱,所以最近在恶补基础知识。下面就对我所学习的File类和FileStream进行简单的总结。
1.首先先介绍File类和FileStream文件流

1.1  File类,是一个静态类,支持对文件的基本操作,包括创建,拷贝,移动,删除和打开一个文件。File类方法的参量很多时候都是路径path。主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间。
 1.2  FileStream文件流 只能处理原始字节(raw byte)。FileStream 类可以用于任何数据文件,而不仅仅是文本文件。FileStream 对象可以用于读取诸如图像和声音的文件,FileStream读取出来的是字节数组,然后通过编码转换将字节数组转换成字符串。

1.3 区别:file:是一个文件的类,对文件进行操作的;filestream:文件流.对txt,xml等文件写入内容的时候需要使用的一个工具.打个形象的比喻.file是笔记本,需要filestream的这个笔才能写.
2.代码部分

2.1 File类创建Txt

string path = @"C:\Users\Administrator\Desktop\1.txt";
       File.Open(path, FileMode.OpenOrCreate);

2.2 File类Txt拼接内容

List<string> users = new List<string>();
                users.Add("张三|1000");
                users.Add("李四|10000");
                users.Add("王五|5000");
                users.Add("赵六|6000");
                 File.AppendAllLines(path, users, Encoding.Default);

2.3  File类字节形式读取txt文档

byte[] buttf = File.ReadAllBytes(path);
    string str = Encoding.Default.GetString(buttf, 0, buttf.Length);

2.4 File类实现txt员工工资加倍

string[] filestr = File.ReadAllLines(path, Encoding.Default);
       for (int i = 0; i < filestr.Length; i++)
         {
            string[] str = filestr[i].Split('|');
            filestr[i] = str[0] + "|" + (Convert.ToDouble(str[1]) * 2).ToString();
          }
         File.AppendAllLines(path, filestr, Encoding.Default);

2.5 File类常用方法

3.文件流

3.1文件流文字形式读取

byte[] bytsize = new byte[1024 * 1024 * 5];
                using (FileStream stream = new FileStream(path, FileMode.OpenOrCreate,FileAccess.ReadWrite))
                {
                    while (true)
                    {
                        int r = stream.Read(bytsize, 0, bytsize.Length);
                        //如果读取到的字节数为0,说明已到达文件结尾,则退出while循
                        if (r == 0)
                        {
                            break;
                        }
     
                        string str = Encoding.Default.GetString(bytsize, 0, r);
                        Console.WriteLine(str);
                    }
                }

3.2文件流文字形式写入

string str = "今天天气好晴朗,处处好风光";
                byte[] buttf = Encoding.Default.GetBytes(str);
                //文件流的写入
                using (FileStream fscreat = new FileStream(path, FileMode.Append, FileAccess.Write))
                {
     
                    fscreat.Write(buttf, 0, buttf.Length);
                }

3.3文件流视频形式复制

byte[] bytsize = new byte[1024 * 1024 * 5];       
    string videoPath = @"C:\Users\Administrator\Desktop\1、练习1-3.avi";
                string videoNewPath = @"C:\Users\Administrator\Desktop\1.avi";
                //创建读取流
                using (FileStream fsread=new FileStream(videoPath,FileMode.Open,FileAccess.Read))
                {
                    //创建写入流
                    using (FileStream fswrite=new FileStream(videoNewPath,FileMode.OpenOrCreate,FileAccess.Write))
                    {
                          while (true)
                      {
                        //返回实际读取到的字节
                        int r = fsread.Read(bytsize, 0, bytsize.Length);
                       //当字节位0的时候 证明已经读取结束
                        if(r==0){
                            break;
                        }
                        fswrite.Write(bytsize,0,r);
      
                    }
                 }
                    
                }

因为刚开始学习所以有些不足,希望各位大佬可以指正。
————————————————
版权声明:本文为CSDN博主「忆汐辰」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41209575/article/details/89178020

C#中File和FileStream的用法----转载的更多相关文章

  1. C# 中File和FileStream的用法

    原文:https://blog.csdn.net/qq_41209575/article/details/89178020 1.首先先介绍File类和FileStream文件流 1.1  File类, ...

  2. Java中File类的基本用法

    File类的基本用法 java.io.File类:代表文件和目录.在开发中,读取文件.生成文件.删除文件.修改文件的属性时经常会用到此类. File类的常用构造方法:public File(Strin ...

  3. asp.net中的<%%> <%#%> <%=%>形式的详细用法 (转载)

    博客分类: ASP.NET   一. <%%>这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支 ...

  4. File,FileInfo,FileStream,StreamReader的区别与用法

    概括的说,File,FileInfo,FileStream是用于文件 I/O 的类,StreamReader是用于从流读取和写入流的类,使用之前都需using System.IO. 先定义一个TXT文 ...

  5. Python中logging模块的基本用法

    在 PyCon 2018 上,Mario Corchero 介绍了在开发过程中如何更方便轻松地记录日志的流程. 整个演讲的内容包括: 为什么日志记录非常重要 日志记录的流程是怎样的 怎样来进行日志记录 ...

  6. 项目中使用Quartz集群分享--转载

    项目中使用Quartz集群分享--转载 在公司分享了Quartz,发布出来,希望大家讨论补充. CRM使用Quartz集群分享  一:CRM对定时任务的依赖与问题  二:什么是quartz,如何使用, ...

  7. 教程-Delphi中Spcomm使用属性及用法详解

    Delphi中Spcomm使用属性及用法详解 Delphi是一种具有 功能强大.简便易用和代码执行速度快等优点的可视化快速应用开发工具,它在构架企业信息系统方面发挥着越来越重要的作用,许多程序员愿意选 ...

  8. python中的formatter的详细用法

    今天抽空学习了一下python中的string service中的formatter的相关用法,主要是为了让自己的代码看起来更加和谐,因为很多java或者c语言过来的开发者都不怎么爱使用python的 ...

  9. UGUI中Event Trigger的基本用法

    UGUI中Event Trigger的基本用法 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chin ...

随机推荐

  1. Numpy Pandas

    数据分析 : 是把隐藏在一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究对象的内在规律. 数据分析三剑客 -  Numpy Pandas Matplotlib # Numpy 基于一维或多维的数 ...

  2. VS2017控制台应用中通过代码连接MySQL数据库

    一,右键单击项目名称,选择属性 二,项目名->属性->c/c+±>常规->附加包含目录 添加路径:C:\Program Files\MySQL\MySQL Server 8.0 ...

  3. 解决安装 fireworks、photoshop 时卡在输入账号、手机号处等问题

    一定要断网! 一定要断网! 一定要断网! 重要的事情说三遍! 我安装的是破解版CS6系列: 安装步骤如下: 1.当进行安装到此步时,(前面的步骤为解压文件等便不解释),选择“试用”,此时应该是 断网  ...

  4. 为 git 设定 socks5 代理

    为 git 设定 socks5 代理 查看当前设定 git config --global -l 为 git 设定全局代理 git config --global http.proxy socks5h ...

  5. 在xwindows界面中切换KDE与GNOME

    在xwindows界面中切换KDE与GNOME 方法1: 在xwindows界面下通过菜单来切换,找到所需的菜单后执行,选择所需的桌面,重新启动xwindows即可. 方法2: 在命令提示符在xwin ...

  6. ndarray数据类型及转换

    ndarray数据类型 Ndarray的基本数据类型如下图所示,数据类型的命名采用“类型名+数字”的形式表示,数字表示数据的比特位长.在计算机中比特位bit是表示数据最小的单位,1个字节Byte的长度 ...

  7. 获取class对象的三种方法以及通过Class对象获取某个类中变量,方法,访问成员

    public class ReflexAndClass { public static void main(String[] args) throws Exception { /** * 获取Clas ...

  8. 阅读build to win的个人感想

    一个程序员要向各个方面学习,向市场.向用户学习等,不能局限于一方面.除此以外还要有自己的想法,要懂得创新,也需要在各个方面都有所突破,有所超越,实力才是取得胜利的根关键.

  9. S32K144之时钟配置

    一般来说,时钟精度.稳定性取决于所采用的时钟源,就MCU S32K来说如内部振荡器SIRC,FIRC,128KLPO,外部晶振等,跟所使用的外设(FTM, LPIT,LPT,RTC等)和哪一路输出时钟 ...

  10. Apache+Php+Mysql配置

    软件工具:(下载时注意下载相应版本,不同版本安装细节可能会有差异!!) 1>httpd-2.4.18-win64-VC14.zip 下载地址: http://www.apachelounge.c ...