C# —— BufferedStream的

1BufferedStream的基本介绍


BufferedStream的主要特点和用途如下:

特点:

提供缓冲区,减少对底层流的直接访问。
提高读写操作的速度,尤其是在处理大量数据时。
可以配置缓冲区大小,以适应不同的应用需求。
用途:

优化对文件、网络资源等底层流的读写性能。
作为其他非缓冲流(如FileStream、NetworkStream)的包装器,增加缓冲功能。

 创建一个缓存去对象 参数是stream对象,指定字节临时存储的路径

 BufferedStream bs = new BufferedStream(File.Create("test.json"));

        bs.Seek(3,SeekOrigin.Begin); seek设置当前缓存流中的位置
        存储数据

byte[] info1 = new UTF8Encoding().GetBytes("The first line 你好");
bs.Write(info1, 0, info1.Length); // 参数1 写入的数据 参数2从那个地方开始写入 参数3是写入的长度byte[] info2 = new UTF8Encoding().GetBytes("1234567\n");
bs.Write(info2, 0, info2.Length);byte[] info3 = new UTF8Encoding().GetBytes("The second Line\n");
bs.Write(info2, 0, info2.Length);

bs.Flush();// 清空缓存区 保证数据完全写入
bs.Close();// 关闭字节流

读取数据File.OpenRead("test.json")读取数据创建一个读取文件流

 

bs = new BufferedStream(File.OpenRead("test.json"));
byte[] b = new byte[bs.Length];
Console.WriteLine(b.Length);
bs.Seek(0, SeekOrigin.Begin);
while (bs.Read(b,0,b.Length)>0) //Rrad() 参数1字节数组 参数2是读取的位置 参数3是读取的长度
{Console.WriteLine(new UTF8Encoding().GetString(b));
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/44377.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++入门基础篇(下)

目录 6.引用 6.1 引用的特性 6.2 const引用 7.指针和引用的关系 8.内联函数 9.nullptr 6.引用 引⽤不是新定义⼀个变量,⽽是给已存在变量取了⼀个别名,编译器不会为引⽤变量开辟内存空间, 它和它引⽤的变量共⽤同⼀块内存空间。比如&a…

【Vue3】使用vite创建vue项目

一、安装Nodejs 参考文章https://blog.csdn.net/DX390609/article/details/140305585?spm1001.2014.3001.5502 二、创建项目 在要创建的目录下打开命令行输入: npm create vuelatestvue项目创建成功: 三、安装vue插件 vscode打开项目文件夹&…

谷歌个人开发者账号14天封测审核通过技巧,你还不知道吗?

众所周知,目前在Google play应用商店上架应用已经不是那么容易了,谷歌各种政策的更新以及审核系统的升级,给开发者们带来了不少挑战。 尤其针对个人开发者账号需要20人连续14天的封测的要求,周期长,且随着政策执行力度…

Animate软件各版本安装最低配置要求

Animate软件作为Flash系列的升级版本,对于系统的要求也是越来越高的,所以要根据自己现有系统配置选择合适的版本,因为只有系统达到要求,才能保证软件在运行过程中的稳定性。 这里就列举一下Animate软件各版本安装最低配置要求&am…

31_JQuery一文读懂,JS的升级版

今日内容 零、 复习昨日 一、JQuery 零、 复习昨日 1 js数组的特点(长度,类型,方法) - js数组的长度不限 - 类型不限 - 提供很多方法2 js中和的区别 - 判断数值相等 - 判断数值和数据类型同时相等3 js表单事件的事件名(事件属性单词) - 获得焦点 onfocus - 失去焦点 onblur …

Qt开发 | Qt模型视图代理(Model-View-Delegate)

文章目录 一、Qt MVD概念讲解二、Qt模型视图代理之:QTableView的使用三、Qt模型视图代理之:QListView的使用 一、Qt MVD概念讲解 Qt MVD(Model-View-Delegate)是Qt框架中的一种设计模式,是Qt中用界面组件显示与编辑数据…

深入解析C++11:现代特性和应用

目录 一.c11.简介二.列表初始化和initializer_list1.列表初始化2.initializer_list 三.简化声明1.auto2.decltype 四.新增容器1.array2.forward_list3.unordered_map/set 五.右值引用与移动语义1.左值和右值2.左值引用3.右值引用4.移动构造和移动赋值5.万能引用和引用折叠6.完美…

git-工作场景

1. 远程分支为准 强制切换到远程分支并忽略本地未提交的修改 git fetch origin # 获取最新的远程分支信息 git reset --hard origin/feature_server_env_debug_20240604 # 强制切换到远程分支,并忽略本地修改 2. 切换分支 1. **查看所有分支:**…

KKT条件

KKT条件(Karush–Kuhn–Tucker conditions),约束优化问题的一阶必要条件。 问题 考虑一般约束优化问题 min ⁡ f ( x ) , s.t. c i ( x ) 0 , i ∈ E , c i ( x ) ⩾ 0 , i ∈ I , \begin{aligned} \min & f(x), \\ \text { s.t. } …

mount卡住(失败)解决方案

mount -a卡主 第一步确保两边都打开了NFS服务!!!! 客户端执行mount -av 查看信息是拒绝服务 查看服务端:showmount -e 192.168.25.168 看提示信息处理,关闭两端的防火钱 遇到这个错误就是服务端不让客户端…

网络连接失败怀疑是服务器处于非正常状态?如何用本地电脑查看服务器是否正常?

如果网络连接失败并怀疑是服务器处于非正常状态,您可以通过以下方法用本地电脑查看服务器是否正常: 1. **使用ping命令**: - 打开命令提示符(在Windows系统中,您可以按Win R键,输入cmd,然后按回车键&#…

llamaindex实战-本地模型和Pandas数据对话

llamaindex实战-本地模型和Pandas数据对话 概述 本文介绍如何使用llamaindex的 PandasQueryEngine引擎,通过使LLM将自然语言转换为 Pandas python 代码。PandasQueryEngine 的输入是 Pandas 数据帧,输出是响应。 LLM 推断要执行的dataframe操作以检索结…

JAVA--SpringCloud

SpringCloud基础 为什么需要spring cloud 单体结构--Monolith 首先请回想一下我们所开发的服务是什么样子的。通常情况下,这个服务所对应的代码由多个项目(模块)所组成,各个项目会根据自身所提供功能的不同具有一个明确的边界。…

C++类与对象-基础篇

目录 一、什么是类 1.1 语法定义 1.2 访问限定符 1.3 类域 二、类的实例化 2.1 什么是实例化 2.2 类的大小 三、this指针 3.1 引入 3.2 this指针的使用 一、什么是类 1.1 语法定义 class 类名 {}; 说明 类似于C语言中的结构体,括号后分号不能丢类内成员可…

算术运算符用途解析及应用案例

文章目录 常用的算术运算符及其用途:运算符优先级类型转换高级用法 应用案例1. 计算器程序2. 平方根计算3. 计算平均数和标准差4. 货币兑换5. 计算几何6. 动力学模拟7. 数字图像处理8. 金融计算:复利计算 常用的算术运算符及其用途: 算术运算…

Rxjava实现原理

RxJava(Reactive Extensions for Java)是一个响应式编程库,它提供了一种声明式的异步数据流编程模型,基于观察者模式和响应式编程原则。RxJava 允许开发者以声明式的方式编写非阻塞的、异步的数据处理代码,非常适合处理…

Jetson-AGX-Orin 安装jtop(在线/离线两种方式)

Jetson-AGX-Orin 安装jtop 1、在线安装,保证Jetson-AGX-Orin能够上网 sudo apt install python3-pip sudo -H pip3 install -U pip sudo -H pip install jetson-stats2、离线安装 ​ 下载jtop离线安装文件 jtop离线安装文件 ​ 使用unzip命令解压 ​ 执行里面的install…

前端面试题40(浅谈MVVM双向数据绑定)

MVVM(Model-View-ViewModel)架构模式是一种用于简化用户界面(UI)开发的软件架构设计模式,尤其在现代前端开发中非常流行,例如在使用Angular、React、Vue.js等框架时。MVVM模式源于经典的MVC(Mod…

软件架构之软件架构概述及质量属性

软件架构之软件架构概述及质量属性 第 9 章:软件架构设计9.1 软件架构概述9.1.1 软件架构的定义9.1.2 软件架构的重要性9.1.3 架构的模型 9.2 架构需求与软件质量属性9.2.1 软件质量属性9.2.2 6 个质量属性及实现 第 9 章:软件架构设计 像学写文章一样&…

PostgreSQL的PgBadger工具

PostgreSQL的PgBadger工具 PgBadger 是一个用于 PostgreSQL 日志分析和报告的高性能工具。它可以解析 PostgreSQL 的日志文件,并生成详细的 HTML 报告,包括查询统计、执行时间、锁、连接和错误等信息。PgBadger 可以帮助数据库管理员快速识别性能瓶颈和…