大龙的胡思乱想之“filestream中offset参数”

改偏移量之前

 using (FileStream fs = new FileStream(txtFilePathRead.Text, FileMode.Open))
            {
                //创建一个容量4M的数组
                byte[] byteData = new byte[1024 * 1024 * 4];
                //从文件中读取数据写入到数组中(数组对象,从第几个开始读,读多少个)
                //返回读取的文件内容真实字节数
                int length = fs.Read(byteData, 0, byteData.Length );
                //如果字节数大于0,则转码
                if (length > 0)
                {
                    MessageBox.Show(length.ToString());
                    //将数组转以UTF-8字符集编码格式的字符串
                    string strData = Encoding.UTF8.GetString(byteData);
                    txtInputRead.Text = strData;
                    MessageBox.Show("读取成功!");
                }
            

改偏移量之后

            using (FileStream fs = new FileStream(txtFilePathRead.Text, FileMode.Open))
            {
                //创建一个容量4M的数组
                byte[] byteData = new byte[1024 * 1024 * 4];
               //从文件中读取数据写入到数组中(数组对象,从第几个开始读,读多少个)
                //返回读取的文件内容真实字节数
                int length = fs.Read(byteData, 3, 6);//如果在这里改了默认的偏移量,则解码的时候也要相应的更改。
                //如果字节数大于0,则转码
                if (length > 0)
                {
                    //将数组转以UTF-8字符集编码格式的字符串
                    string strData = Encoding.UTF8.GetString(byteData,3,6);
                    txtInputRead.Text = strData;
                    MessageBox.Show("读取成功!");
                }
            }

在改偏移量之后,要相应的更改read方法中的count参数,不然会报错:超出索引神马的。

另外,还要更改解码的参数,不然会显示错误。

读取文件的内容是:今天啊

文件的长度:9

输出:

改偏移量之前:今天啊

改偏移量之后:今天

一、utf8编码字节数量
1)标准ASCII码(码值00 ~7F),1个字节
2)扩展ASCII码(码值80 ~FF),2个字节
3)常用汉字,3个字节

研究这个目前没什么用,纯属个人胡思乱想,还是办正事要紧,唉-.-

大龙的胡思乱想之“filestream中offset参数”,布布扣,bubuko.com

时间: 2024-12-25 07:33:32

大龙的胡思乱想之“filestream中offset参数”的相关文章

Ibatis中sqlmap参数map中还需要套list的情况如何写?

原始需求: 有若干个参数,需要作为ibatis拼装sql的参数传入,但是有个参数的值比较特殊,是若干种枚举值.具体到这个case,就是有有限个namespace.我每次需要通过传入多个namespace来查询DB记录. 准备需要传入sqlmap的参数的示例代码如下: Java代码   Map<String,Object> ibatisParam = new HashMap<String, Object>( ); ibatisParam.put( "keyA",&

javascript获取当前url中的参数

javascript获取当前页面url中的参数可以使用location的search方法,获取到的是url中?后面的部分,例如http:localhost:8080/Manager/index.jsp?id=1 使用location的search方法可以获取到字符串?id=1;想要获取?后面的键值对可以使用substring方法对其进行截取,截取后获得id=1;需要获得id的值,可以使用split()方法对其进行拆分,拆分表达式为"=".下面看具体例子: window.onload =

ORA-01084: OCI 调用中的参数无效

执行一个Insert语句,系统抛出来的异常是:ORA-01084:OCI调用中的参数无效. 请注意检查Insert字段中是否有clob字段并传入了这样的""空字符串,如果是的话就是问题所在了. 解决方案: 用DbNull代替""赋值. 代码参照: parameters[0].Value = SqlNull(model.ZB_GUID);  public object SqlNull(object obj)        {            if (obj ==

如何获取url中的参数并传递给iframe中的报表

在使用报表软件时,用户系统左边一般有目录树,点击报表节点就会在右侧网页的iframe中显示出报表,同时点击的时候也会传递一些参数给网页,比如时间和用户信息等.如何使网页中的报表能够获取到传递过来的参数呢?以下用报表软件FineReport简单介绍一些. 具体实现过程 将报表生成页面时,给网页添加onload事件,首先获取url中的参数,然后嫁接到iframe的src上,或者通过获得的参数拼接处完整的报表url赋给iframe的src. <html> <head> <title

js获取url链接中的参数

js获取url链接中的参数:url传递参数这是常识,这里就不多介绍了,既然传递参数就要获取参数的值,下面就介绍一下如何实现此功能.代码如下: function request(paras){ var url="softwhy.com?a=1&b=2"; var paraString=url.substring(url.indexOf("?")+1,url.length).split("&"); var paraObj={} for

【WinRT】获取 Uri 中的参数(QueryString)键值对

在控制台或者其它类型的项目中,可以添加 System.Web,使用以下代码来获取一个 Uri 中的参数 Uri uri = new Uri("http://www.cnblogs.com/h82258652/?gender=male&age=17"); NameValueCollection collection = HttpUtility.ParseQueryString(uri.Query); for (int index = 0; index < collectio

mysqladmin在SuSE linux系统中--sleep参数使用不准确问题

我们都知道,在MySQL中,可以使用mysqladmin命令的extended-status选项来查看MySQL的运行状态,比如获取我们常常关注的几个值: # mysqladmin -uroot -proot ext |grep "Questions\|Queries\|Innodb_rows\|Com_select \|Com_insert \|Com_update \|Com_delete " | Com_delete                               |

提取URL的搜索字符串中的参数

1 /*--------------------------------------------------------------------------------* 2 * 功能描述:提取URL的搜索字符串中的参数 3 * 原理:这个函数用来解析来自URL的查询串中的的name=value参数对 4 * 它将name=value对存储在一个对象的属性中,并返回该对象 5 * 测试:已通过 6 * 时间:2016/10/31 7 *------------------------------

[转载]linux下编译php中configure参数具体含义

编译N次了   原来这么回事 原文地址:linux下编译php中configure参数具体含义作者:捷心特 php编译参数的含义 ./configure –prefix=/usr/local/php                      php 安装目录 –with-apxs2=/usr/local/apache/bin/apxs –with-config-file-path=/usr/local/php/etc      指定php.ini位置 –with-mysql=/usr/local