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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Oracle修改表名报错ORA-14047

    Oracle修改表名报错ORA-140471、使用sys或其他用户修改表名SQL>showuser;USERis”SYS”SQL>altertableuser1.tb1renametouser1.tb2;ERRORatline1:ORA-14047:ALTERTABLE|INDEXRENAMEmaynotbecombinedwithotheroperations#使用非属主用户修改表名时修改后的表名不需要加属主正确修改方式:SQL>altertableuser

    2022年5月17日
    45
  • springboot源码调试

    springboot源码调试学习springboot,第一步官网下载源码然后编译地址:https://github.com/spring-projects/spring-boot/1.选择tag2.进入后选择的版本是2.2.2的版本3.下载完成后解压到相应的文件夹下,进行编译,运行:mvncleaninstall-DskipTests-Pfast4.上述命令大概执行40分钟左右,下面给出已经编译好的链接地址:链接:https://pan.baidu.com/s/1YxZeD…

    2022年5月2日
    82
  • JavaScript代码规范

    JavaScript代码规范1111

    2025年6月2日
    0
  • 【水了一篇】Scipy简单介绍

    【水了一篇】Scipy简单介绍Scipy是基于Numpy的科学计算库,用于数学、科学、工程学等领域

    2022年6月28日
    30
  • about ubuntu hard disk

    about ubuntu hard disk

    2021年5月3日
    140
  • java中的守护线程守护的是什么_java守护线程的作用

    java中的守护线程守护的是什么_java守护线程的作用守护线程在Java中有两类线程:UserThread(用户线程)DaemonThread(守护线程)守护线程的功能非常简单,在其本身是一个线程的同时,主要是为了给其他的线程提供服务,比如说计时器,清空高速缓存等等操作,守护线程具有和被守护线程一样的生命周期(这里并不是说守护线程和被守护线程常常是1-1的关系),当被守护线程死亡,守护线程往往也会死亡,当虚拟机中只剩下守护线程时,虚拟机就会退出,因为此时也没有运行程序的必要了一个比较通俗的解释:任何一个守护线程都是整个JVM中所有非守护线程

    2022年10月9日
    1

发表回复

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

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