FileStream类

FileStream类FileStream类的官方介绍请见:https://msdn.microsoft.com/zh-cn/library/system.io.filestream.aspx一、使用FileStream来读取文本文件stringpath=@”E:\TEMP\TestFileStream\theoldiPhone6.txt”;

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

FileStream类的官方介绍请见:

https://msdn.microsoft.com/zh-cn/library/system.io.filestream.aspx

一、使用FileStream来读取文本文件

         <pre name="code" class="csharp">            string path = @"E:\TEMP\TestFileStream\the old iPhone6.txt";
            FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read);
            byte[] buffer = new byte[fs.Length];//定义缓存区,因为文件较小,所以直接设置为文本的大小
            int r = fs.Read(buffer, 0, buffer.Length);//将数据读入buffer1,从0开始,读取的长度为buffer1.Length 
            //返回值:读入缓冲区中的总字节数。
            // 如果当前的字节数没有所请求那么多,则总字节数可能小于所请求的字节; 或者如果已到达流的末尾,则为零。 

            //为了能看懂内容,需要将字节数组转换成字符串:
            string result = Encoding.Default.GetString(buffer);
            Console.WriteLine("文件大小为:" + fs.Length.ToString());
            Console.WriteLine("文件内容如下:");
            Console.WriteLine(result);
            Console.WriteLine(r);
            fs.Close();//关闭流
            fs.Dispose();//释放流


读取效果:

FileStream类

原文件属性:

FileStream类

注意:

如果上面的缓存区设置为:

byte[] buffer1=new byte[1024*1024*5];  //5M大小的缓存区

输出为一片“空白”,因为:本次的目标文本文件只有3K,远小于设置的缓冲区大小5M,因此剩下的4.997M会被“空”填充,而读取出来的3K会被“淹没”;

同理,若一个12M大小的文件,实际读出来是15M,读三次,第一次第二次都是5M,第三次是2M,剩下的3M由空填充。

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

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

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


相关推荐

  • Day03,Python文件的常见操作

    Day03,Python文件的常见操作Day03,Python文件的常见操作

    2022年4月21日
    53
  • redis过期key的删除策略[通俗易懂]

    前言在使用redis的过程中,不免会产生过期的key,而这些key过期后并不会实时地马上被删除,当这些key数量累积越来越多,就会占用很多内存,因此在redis底层同时使用了三种策略来删除这些key。第一种策略:被动删除当读/写一个key时,redis首先会检查这个key是否存在,如果存在且已过期,则直接删除这个key并返回nil给客户端。第二种策略:定期删除redis中有一系列的定期任务(serverCron),这些任务每隔一段时间就会运行一次,其中就包含清理过期key的任务,运行频率由配置文件

    2022年4月8日
    62
  • python缩进格式错误的是_python 缩进错误,

    展开全部要求严2113格的代码缩进是python语法的一大特色,就像C语言5261家族(C、C++、Java、C#等等)中的花括4102号一1653样重要,在大多数场合还有必要。在很多代码规范里面也都有要求代码书写按照一定的规则进行换行和代码缩进,但是这些要求只是纯粹是方便人(程序员)来阅读、使用或修改的,对于编译器或者解释器而言,完全是视而不见的。但是对Python解释器而言,每行代码前的缩进都…

    2022年4月12日
    31
  • mysql主从复制原理面试_数据库主从复制 读写分离

    mysql主从复制原理面试_数据库主从复制 读写分离为什么要做主从复制在业务复杂的系统中,有这么一个情景,有一句sql语句需要锁表,导致暂时不能使用读的服务,那么就很影响运行中的业务,使用主从复制,让主库负责写,从库负责读,这样,即使主库出现了锁表的情景,通过读从库也可以保证业务的正常运行。做数据的热备,主库宕机后能够及时替换主库,保证业务可用性。架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O……

    2022年8月13日
    3
  • 基础乐理

    基础乐理

    2022年3月13日
    37
  • 论文阅读笔记(十三)——利用卷积神经网络进行农场猪脸识别

    论文阅读笔记(十三)——利用卷积神经网络进行农场猪脸识别论文阅读笔记(十三)——利用卷积神经网络进行农场猪的人脸识别论文简介论文全称:《Towardson-farmpigfacerecognitionusingconvolutionalneuralnetworks》中文名:《利用卷积神经网络进行农场猪的人脸识别》期刊情况投稿期刊:《ComputersinIndustry》期刊情况:中科院二区影响因子4Q1分区初审一个月,总时间约为6个月摘要近年来,由于继续采取集约化做法和需要精确的客观测量(例如体重),识别猪和牛

    2022年6月21日
    25

发表回复

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

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