Stream流的读取使用
这个是在现在的项目里,用到的知识点,一般用不到这些。。所以想着还是记下来以后用。
针对文本流
//StreamReader sr = new StreamReader(mystream,Encoding.UTF8);
//string logstream = sr.ReadToEnd();
针对图片流
Image.FromStream(stream);
下面的是一个公司项目里的范例是针对文本和图片拼在一起的一个流
//FileStream用于写入文件
FileStream fs = new FileStream(imgpath, FileMode.CreateNew); BinaryWriter w = new BinaryWriter(fs);
// 设置要写入的偏移量
Stream mystream = wresp.GetResponseStream();
byte[] tempOneByte = new byte[];
byte[] temp1024Byte = new byte[]; int readLength = mystream.Read(tempOneByte, , );
bool beginSave = false;
while (readLength != )
{
if (tempOneByte[] == && !beginSave)
{
mystream.Read(tempOneByte, , );
if (tempOneByte[] == )
{
int iValue = ;
tempOneByte[] = (byte)iValue;
beginSave = true;
fs.Write(tempOneByte, , );
fs.Flush();
iValue = ;
tempOneByte[] = (byte)iValue;
fs.Write(tempOneByte, , );
fs.Flush();
readLength = mystream.Read(temp1024Byte, , );
continue;
}
}
writeLength += readLength;
if (beginSave)
{
fs.Write(temp1024Byte, , readLength);
fs.Flush();
}
else
{
byteArray.Add(tempOneByte[]);
}
if (beginSave)
readLength = mystream.Read(temp1024Byte, , );
else
readLength = mystream.Read(tempOneByte, , );
}
w.Close();
fs.Close(); byte[] resultbyte = new byte[byteArray.Count];
for (int i = ; i < byteArray.Count; i++)
{
resultbyte[i] = (Byte)byteArray[i];
}
System.Text.UTF8Encoding UTF8 = new System.Text.UTF8Encoding();
result = UTF8.GetString(resultbyte);
Stream流的读取使用的更多相关文章
- stream流批量读取并合并文件
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.F ...
- java使用stream流批量读取并合并文件,避免File相关类导致单文件过大造成的内存溢出。
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.F ...
- Stream 流操作
Stream 类 先看下面的图 Stream 是所有流的抽象基类(不能被实例化,需要使用他的派生类FileStream/MemoryStream/BufferedStream).流是字节序列的抽象概 ...
- Node.js Stream(流)
Stream 是一个抽象接口,Node 中有很多对象实现了这个接口.例如,对http 服务器发起请求的request 对象就是一个 Stream,还有stdout(标准输出). Node.js,Str ...
- NodeJS Stream流
NodeJS Stream流 流数据在网络通信中至关重要,nodeJS用Stream提供了一个抽象接口,node中有很多对象实现了这个接口,提供统一的操作体验 基本流类型 NodeJS中,Stream ...
- node.js中stream流中可读流和可写流的使用
node.js中的流 stream 是处理流式数据的抽象接口.node.js 提供了很多流对象,像http中的request和response,和 process.stdout 都是流的实例. 流可以 ...
- node api 之:stream - 流
stream 模块可以通过以下方式使用: const stream = require('stream'); 流可以是可读的.可写的.或者可读可写的. 所有的流都是 EventEmitter 的实例. ...
- java mysql大数据量批量插入与流式读取分析
总结下这周帮助客户解决报表生成操作的mysql 驱动的使用上的一些问题,与解决方案.由于生成报表逻辑要从数据库读取大量数据并在内存中加工处理后在 生成大量的汇总数据然后写入到数据库.基本流程是 读取- ...
- 【node.js】Stream(流)
Stream 有四种流类型: Readable - 可读操作. Writable - 可写操作. Duplex - 可读可写操作. Transform - 操作被写入数据,然后读出结果. 所有的 St ...
随机推荐
- Android项目无法运行的解决方法
文件本身是否有问题 有两种方法可以判断:1.比较快捷的办法就是用解压软件打开或者解压的过程中有没有弹出什么错误提示,如果有错误提示那就重新下载一遍文件(javaapk用的压缩工具是winrar4.0, ...
- 零基础学redis
第一个阶段:redis基本知识了解: 1. redis的百度百科解释: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言 ...
- UIWebView 自定义网页中的alert和confirm提示框风格
.h #import <UIKit/UIKit.h> @interface UIWebView (JavaScriptAlert) -(void)webView:(UIWebView *) ...
- Caocao's Bridges
hdu4738:http://acm.hdu.edu.cn/showproblem.php?pid=4738 题意:抽象出来就是求一条边权最小的割边. 题解:直接用tarjan即可破.但是如果只注重这 ...
- hibernate的速度问题--hibernate.jdbc.fetch_size和 hibernate.jdbc.batch_size
hibernate的速度问题 这点我也疑惑过,最初应用hibernate的项目,我也感觉速度很慢,知道后来才知道问题的所在. 其实hibernate的速度性能并不差,比起jdbc来说,又是 ...
- 经典的单例模式c3p0来控制数据库连接池
package com.c3p0.datapools; //数据库连接池 单例模式 import java.sql.Connection; import java.sql.SQLException; ...
- 如何快速使用ECharts绘制可视化图表
1.在ECharts官网,下载ECharts的源码和示例文件. 2.解压缩下载下来的Echars压缩包,找到doc\example\www\echartsjs目录,将里面的js文件全部取出来,放到项目 ...
- 深入浅出Node.js (附录C) - Node编码规范
C.1 根源 C.2 编码规范 C.2.1 空格与格式 C.2.2 命名规范 C.2.3 比较操作 C.2.4 字面量 C.2.5 作用域 C.2.6 数组与对象 C.2.7 异步 C.2.8 类与模 ...
- js中State模式的解析及运用
状态模式,在大的范畴中的定义为当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类.每种编程语言有不同的实现方式,运用的范围也多用于游戏之中. 这里我用javascript来模拟状 ...
- Windows作业
1.什么是Windows作业 Windows作业实际上一个进程组,可以给作业设置权限,一旦进程加入到作业内,进程的权限将会被作业限制. 2.创建一个作业 HANDLE CreateJobObject( ...