C#中FileStream与StreamReader/StreamWriter区别

C#中FileStream与StreamReader/StreamWriter区别FileStreamFileStream类不是静态类,表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法,但经常使用StreamReader或StreamWriter执行这些功能。这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据。使用时需要创建对象,FileStream类既可以对文本文件进行读也可以对多媒体文件进行写,以字节数组的形式进…

大家好,又见面了,我是你们的朋友全栈君。

区别

FileStream类不是静态类,表示在磁盘或网络路径上指向文件的流。这个类提供了在文件中读写字节的方法,但经常使用StreamReader或 StreamWriter执行这些功能。这是因为FileStream类操作的是字节和字节数组,而Stream类操作的是字符数据。使用时需要创建对象,FileStream类既可以对文本文件进行读也可以对多媒体文件进行写,以字节数组的形式进行读和写,多用于对大文件进行读写,区别于File类的是它对文件可进行分步读写,减小内存压力。StreamReader和StreamWriter类多用于对小文件读写。

StreamReader方法

string path = @"G:\桌面1.txt";
using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read))//找到指定路径的文件,打开,读取;using自动释放资源并且关闭
{ 
   
	using (StreamReader sr = new StreamReader(fs,Encoding.Default ))
    { 
   
        Console.WriteLine(sr.ReadLine());//读取指定路径下文件的一行字符
        Console.WriteLine(sr.ReadToEnd());//读取指定路径下文件中所有内容
        while (!sr.EndOfStream)//没读到文件中最后一行数据就一直读,读取文件中所有内容
        { 
   
            Console.WriteLine(sr.ReadLine());
        }
    }
}

StreamWriter方法

string path = @"G:\桌面1.txt";
using (FileStream fs=new FileStream(path, FileMode.Open, FileAccess.Write, FileShare.Write ))//using自动释放资源并且关闭
{ 
   
    using (StreamWriter sw = new StreamWriter(fs, Encoding.Default))
    { 
   
        sw.Write("哈哈");//在指定路径文件下写入文本
    }
}
Console.ReadKey();
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/162878.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • VC6.0建立控制台程序实现PDA应用

    VC6.0建立控制台程序实现PDA应用

  • Jenkins安装_jenkins安装与配置

    Jenkins安装_jenkins安装与配置前言jenkins的环境搭建方法有很多,本篇使用docker快速搭建一个jenkins环境。环境准备:mac/Linuxdockerdocker拉去jenkins镜像先下载jenkins镜

  • Random随机数nextInt(n)的使用

    Random随机数nextInt(n)的使用nextInt(intn) 方法用于获取一个伪随机,在0(包括)和指定值(不包括),从此随机数生成器的序列中取出均匀分布的int值。声明以下是对java.util.Random.nextInt()方法的声明。publicintnextInt(intn)参数n–这是结合于该随机数返回。必须为正数。返回值在方法调用返回

  • 从零到一搭建一个属于自己的博客系统(弎)「建议收藏」

    从零到一搭建一个属于自己的博客系统(弎)「建议收藏」前言:结合上文讲到了博客发布,本篇文章进行对于个人的信息进行一系列操作:从零到一搭建一个属于自己的博客系统(弌):从零到一搭建一个属于自己的博客系统(弌)从零到一搭建一个属于自己的博客系统(弍):从零到一搭建一个属于自己的博客系统(弍)目录:一.界面元素:二.个人中心:1.页面部分以及HTML:2.CSS:3.效果图:4.js:三.Django接口:1.修改密码(update):2.忘记密码(see):3.日志查看(seemsg):4.日志写入(usermsg):四.补充:五.换肤:一.界面元素:

    2022年10月11日
  • 单片机0~10v模拟输出_单片机控制三相直流电机

    单片机0~10v模拟输出_单片机控制三相直流电机写在前面承接上文,本次主要设计就是用的是MSP430F249的主控,文末附上下载链接完成效果注意事项三个时钟都要进行设置,确保时钟为8M方可正常使用我就不多说了直接贴代码吧测频串口发送机oled.c////////////////////////////////////////////////////////////////////////////////// //———————————————-

  • 超详细的tomcat的下载安装和配置教程「建议收藏」

    超详细的tomcat的下载安装和配置教程「建议收藏」tomcat运行的前提是安装并配置了JDK,若没有安装配置JDK,先去安装配置JDK。如下链接:JDK_1.8的下载安装和环境变量的配置【详细步骤】一、下载tomcat1.进入tomcat的下载tomcat下载官网2.点击进入,点击:v8.5.73/3.选择bin4.选择:apache-tomcat-8.5.73-windows-x64.zip,点击即可下载二、tomcat安装1.解压到指定的位置,我解压后的如下2.配置环境变量①配置环境变量,此电脑—>属性—&gt

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号