c#-在C#中FileStream.Read循环读取时其参数offest如何设置?

问题描述

在C#中FileStream.Read循环读取时其参数offest如何设置?

使用FileStream.Read 循环读取一个文件
While(true)
{
byte[] buffer=new byte[1024];
Fs.Read(buffer,0,buffer.length);
........
}
在循环的时候,按照代码所写不应该是每次都从0的位置开始读取吗?但是实际操作中,每次都是从=+buffer.length开始读取。怎么实现的?

解决方案

参考MSDNFileStream.Read 方法

            // Read the source file into a byte array.
            byte[] bytes = new byte[fsSource.Length];
            int numBytesToRead = (int)fsSource.Length;
            int numBytesRead = 0;
            while (numBytesToRead > 0)
            {
                // Read may return anything from 0 to numBytesToRead.
                int n = fsSource.Read(bytes, numBytesRead, numBytesToRead);

                // Break when the end of the file is reached.
                if (n == 0)
                    break;

                numBytesRead += n;
                numBytesToRead -= n;
            }
             numBytesToRead = bytes.Length;
时间: 2024-10-31 01:53:00

c#-在C#中FileStream.Read循环读取时其参数offest如何设置?的相关文章

在Asp.net的HttpCookie中写入汉字,读取时为乱码的解决方法!

原文 www.cnblogs.com/xdotnet/archive/2006/09/27/Get_right_cookie_value.html   今天有个***妹问我:在Asp.net的HttpCookie中写入汉字,读取值为 什么全是乱码?其实这是因为文字编码而造成的,汉字是两个编码,所以才会搞出这么个乱码出来!其实解决的方法很简单:只要在写入Cookie时,先将其用 Url编码,然后再写入,当我们读取时再解码就OK了,希望更多的***妹能解决它,呵呵!   例子:   Cookie的写

java-velocity一组循环的单选框,保存到数组库中之后,再次读取,怎样让上次保存的单选默认选中

问题描述 velocity一组循环的单选框,保存到数组库中之后,再次读取,怎样让上次保存的单选默认选中

关于循环读取txt表内数据到数据库中

问题描述 Hi,各位大神,想实现这样一个逻辑,假设:文件夹内有10个txt文本文档,里面每个对应一个sql内的表,且每个文本文档(以及sql中的表)列数均不同.这边我读取了每个txt的路径.然后每个字段用"|"符号隔开.我想实现每个txt文本文件自动匹配sql里的表,且列也自动匹配,而不是写10个case.每个case需要写几十个columns.add.放在datatable中.有什么好办法吗?privatevoidbutton1_Click(objectsender,EventArg

分页-PagedDataSource里面的集合数据怎么读取出来像dataset一样实现循环读取数据

问题描述 PagedDataSource里面的集合数据怎么读取出来像dataset一样实现循环读取数据 我之前用dataset获得了查询的列表数据 然后给PagedDataSource赋值 这个就是实现一个分页的 我想把PagedDataSource分页数据循环读取出来绑定到自己构建的HTML 解决方案 你不用读取出来,就可以直接绑定到前台的html代码中的. 后台代码为 rpt.DataSource=PagedDataSource.DataSource; rpt.DataBind(); htm

java遍历服务器里的所有excel文件读取特定单元格的值,循环读取文件的代码怎么写

问题描述 java遍历服务器里的所有excel文件读取特定单元格的值,循环读取文件的代码怎么写 package com.excel.action; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import jxl.Cell; import jxl.CellType; import jxl.LabelCell; import jxl.Sheet; import jxl.Workbo

java-C#中将double值变成二进制然后写入文件,Java中载入该文件读取此二进制double值时不正确

问题描述 C#中将double值变成二进制然后写入文件,Java中载入该文件读取此二进制double值时不正确 目前已定位到是因为C#中的byte范围是0到255,而java中byte值为-128到127导致的错误. 尝试过使用C#的sbyte来解决: bw1 = new BinaryWriter(new FileStream("C:UsersDELLDesktopSpatialIndexctest1.bin", FileMode.Create)); bw2 = new BinaryW

图片存取-c# 编写SQL数据库程序 向数据库中存入图片 但是从中读取时不显示图片 这是为什么?

问题描述 c# 编写SQL数据库程序 向数据库中存入图片 但是从中读取时不显示图片 这是为什么? enter code here //这是把图片存入数据库之前的 将图片转成流的程序 dlg.Filter = "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files(*.*)|*.*"; if (dlg.ShowDialog() == DialogResult.OK) { pic.Image = Image.FromFile(

php中使用DOM类读取XML文件的实现代码_php技巧

主要功能:php中使用DOM类读取XML文件 设计知识点: 1.XML节点循环读取 2.用iconv()函数实现编码转换,防止中文乱码 holiday.xml文件如下 复制代码 代码如下: <?xml version="1.0" encoding="UTF-8"?> <daysOff-overTime> <year> <yearName>2012</yearName> <holiday> <

C#中filestream类的属性、方法介绍

使用 FileStream 选件类读取,写入,打开和关闭的文件在文件系统和操作其他文件相关的操作系统句柄,包括管道铺设.标准输入和标准输出.可以使用 Read.Write.CopyTo和 Flush 方法执行同步操作或 ReadAsync.WriteAsync.CopyToAsync和 FlushAsync 方法执行异步操作.  使用异步方法执行大量资源文件操作,而不必阻止主线程.  此性能注意事项非常重要.Windows 应用商店 app 或耗时的流操作会阻止 UI 线程并将您的应用程序显示的