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


相关推荐

  • deeplink

    deeplinkhttp://www.cnblogs.com/shadajin/p/5724117.htmlDeeplink,简单讲,就是你在手机上点击一个链接之后,可以直接链接到app内部的某个页面,而不是app正常打开时显示的首页。不似web,一个链接就可以直接打开web的内页,app的内页打开,必须用到deeplink技术。什么是deeplink技术?如何实现的?郭宇洋的这篇文章有非常轻松易懂的说…

    2022年6月14日
    43
  • DHCP协议简述

    DHCP协议简述DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段,在RFC2131中有详细的描述。DHCP有3个端口,其中UDP67和UDP68为正常的DHCP服务端口,分别作为DHCPServer…

    2022年5月24日
    42
  • eNSP不同网段实现全网互通

    eNSP不同网段实现全网互通【实验拓扑】

    2022年9月11日
    0
  • ORACLE 面试题PDF「建议收藏」

    ORACLE 面试题PDF「建议收藏」JAVA面试难免碰到一些棘手的数据库题目,所以ORACLE必须的啦

    2022年8月26日
    2
  • 开源视频会议BigBlueButton 0.81二次开发API

    开源视频会议BigBlueButton 0.81二次开发API开源视频会议BigBlueButton0.81二次开发API本文是copy一位博友的,为了不丢失这篇文章,谢谢。BigBlueButton是一个视频会议软件,它的演示环境和开发环境的搭建,网上都有很多的资料,为了便于二次开发,我整理了一下BBB的常用功能API接口,供参考:BigblueButton调用API,只需一个HTTP请求一个URL,查询参数提供呼叫所需要的信

    2022年7月14日
    25
  • ubuntu 安装QQ 和微信「建议收藏」

    1.下载deb安装包直接去longene官网下载就好了WineQQ7.8-20151109-Longene:http://www.longene.org/download/WineQQ7.8-20151109-Longene.deb下载完之后直接dpkg-iWineQQ7.8-20151109-Longene.deb如果是16.04LTS版本的系统,就执行sudogd

    2022年4月11日
    41

发表回复

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

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