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:\桌面\111\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:\桌面\111\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();
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 前端页面跳转的几种方法「建议收藏」

    前端页面跳转的几种方法「建议收藏」onclick跳转设置window的location.href属性onclick=”window.location.href=’URL’”onclick=”location=’URL’”调用window的open方法onclick=”window.open(‘URL’,’_blank’);”//在新窗口打开onclick=”window.open(‘URL’,’_…

    2025年7月29日
    0
  • 智慧物业小程序_智慧小区物业管理小程序搭建开发有现成案例

    智慧物业小程序_智慧小区物业管理小程序搭建开发有现成案例智慧小区物业管理小程序搭建开发有现成案例【欢迎手机致电:沈经理153.1556.5651微信同步】你我您社区团购模式平台开发,你我您社区商城购物便捷取货模式开发,你我您社区app小程序系统开发,支持二次开发维信小程序的出现,为传统企业发展提供了新的平台。通过维信小程序,传统企业可以实现推广、营销等一系列功能,让企业获得新的动力和机遇。一、你我您社区小程序是什么?1.限时商品抢购,团购价下单2.到…

    2022年10月18日
    1
  • 团队分工

    团队分工

    2021年11月18日
    58
  • linux设置ip默认,Linux设置ip地址与默认网关[通俗易懂]

    linux设置ip默认,Linux设置ip地址与默认网关[通俗易懂]1.设置ip地址打开终端,取得root权限(sudosu)。输入命令:#ifconfigeth0192.168.0.20netmask255.255.255.0详解:ifconfig—设置ip的命令eth0—要设置的网卡,可以只输入ifconfig查看已安装网卡192.168.0.20—预设置的IP值。netmask255.255.255.0—子网掩…

    2022年5月27日
    54
  • BN层论文总结[通俗易懂]

    BN层论文总结[通俗易懂]论文:BatchNormalization:AcceleratingDeepNetworkTrainingbyReducingInternalCovariateShiftMotivation题目中的InternalCovariateShift指的是在训练过程中各层输入数据的分布随前一层网络参数的变化而变化的现象,这种现象会使训练深度神经网络变得更加复杂,需要耗费更多的时…

    2022年10月14日
    0
  • 项目管理第五章项目范围管理内容_项目范围管理在规划过程组四个模块

    项目管理第五章项目范围管理内容_项目范围管理在规划过程组四个模块项目管理第五章项目范围管理项目范围管理:范围管理确保项目做且只做所需的工作,项目范围管理过程包括:规划范围管理:为记录如何定义、确认和控制项目范围及产品范围,而创建范围管理计划的过程。收集需求:为实现项目目标而确定、记录并管理相关方的需要和需求的过程。定义范围:制定项目和产品详细描述的过程。创建WBS:将可交付成果和工作分解为较小、易于管理的组建过程。确认范围:正式验收已完成的项目可交付成果的过程。控制范围:监督项目和产品的范围状态管理范围基准变更的过程。范围管理的核心理念:

    2022年9月22日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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