zoukankan      html  css  js  c++  java
  • stram流char[]保存,支持中文,Filestram需要先转byte[]才能使用,但是性能更好《转载》

    学习流的使用时(stream类),逐步遇到新的理解,记录一下

    1、FileStream流是处理byte[],默认UTF8类型

    当你使用wirte方法时将非byte类型的输入内容,先将内容通过转换为字节

    FileStream fs = new FileStream(@"c: ext.txt", FileMode.Create);
    string message = "This is example for filestream";
    byte[] writeMesaage = Encoding.UTF8.GetBytes(message);
    fs.Write(writeMesaage, 0, writeMesaage.Length);

    2、StreamWirte流是针对char[],可以自定义字符类型,默认UTF8类型

    StreamWriter sw = new StreamWriter(@"c: ext.txt");
    sw.Write("This is StreamWriter");

    针对流写入方式是先将内容写入缓冲区,待缓冲区满时会写入文本中,但是可能的是还有一小部分并没有写入,需要fs.fush()/sw.flush()将缓冲区清除,将内容写入文本中。Flush()与Closed()的区别在与Flush()不会关闭文本,但是两则都可以将内容写入文本中。

    但是如果两个filestream与Stream类对同一个文本进行操作时,最会执行下列两句将报错

    fs.Close();//关闭文件流
    sw.Close();//关闭stream对象和基础流

    所以只需执行sw.close()即可。

    FileStream 的优缺点:

    优:使用 FileStream 类对文件系统上的文件进行读取、写入、打开和关闭操作,并对其他与文件相关的操作系统句柄进行操作,如管道、标准输入和标准输出。读写操作可以指定为同步或异步操作。FileStream 对输入输出进行缓冲,从而提高性能。

    缺:最好只对byte进行操作,如包含中文还需要转换类型,太过麻烦

    Stream类的优缺点:

    优:可以针对Char,读字符要求不高,可以针对中文的写入与读取

    缺:性能没有FileStream 好

    以上个人看法,记录一下
    ————————————————
    版权声明:本文为CSDN博主「ai_feng123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/ai_feng123/article/details/82849236

  • 相关阅读:
    Java8 Stream Function
    PLINQ (C#/.Net 4.5.1) vs Stream (JDK/Java 8) Performance
    罗素 尊重 《事实》
    小品 《研发的一天》
    Java8 λ表达式 stream group by max then Option then PlainObject
    这人好像一条狗啊。什么是共识?
    TOGAF TheOpenGroup引领开发厂商中立的开放技术标准和认证
    OpenMP vs. MPI
    BPMN2 online draw tools 在线作图工具
    DecisionCamp 2019, Decision Manager, AI, and the Future
  • 原文地址:https://www.cnblogs.com/dengzhekaihua/p/14929555.html
Copyright © 2011-2022 走看看