为什么我从inputstream里面读出内容的时候会多读出一部分呢

问题描述

我的源代码:InputStream is = ms.getInputStream(); OutputStream s = new FileOutputStream("d:/temp/demo.html"); byte b[] = new byte[1024]; while (is.read(b) != -1) { os.write(b); os.flush(); } is.close(); os.close();就这样读出来的内容最后会多出来一点,就是最后一点内容读了两次! 问题补充:fool_leave 写道

解决方案

代码写错了。首先不知道你的s是做什么用的。假设你的is是从一个文件读的流,os是往另外一个文件写的流。is.read(b)是从is流中读取最多b.length长度数据。如果已经读完了,则返回读取的长度。如果全部读完,最后会返回-1。os.write(b)是将b中的数据全部写入os流.应该:int size=0;while((size=is.read(b))!=-1){ os.write(b,0,size); os.flush();}
解决方案二:
试想一下,如果你的文件有1124个字节,用你的方法去做,会怎样?第一次循环,读取1024个字节,然后将这1024写入另外一个文件,这一步没有错第二次循环,读取100个字节,可问题是写入的时候会将1024个字节全部写入的文件。如果第一次读取的前1024个字节都是0x1,之后的100个字节都是0x2,那么你写入到文件的字节会是这样:1024 个 0x1100 个 0x21024-100 个 0x1你仔细想想是不是这样。你的问题就出在这里

时间: 2024-09-06 21:18:24

为什么我从inputstream里面读出内容的时候会多读出一部分呢的相关文章

在页面上放一个文本框和一个按钮,想文本框中输入内容点击按钮,读出输入的内容。发声的。可以听见的 谢谢。急急急急!!!!!!!!!!!!

问题描述 在页面上放一个文本框和一个按钮,想文本框中输入内容点击按钮,读出输入的内容.发声的.可以听见的谢谢.急急急急!!!!!!!!!!!!

mysql 数据库-java 从数据库每次读出5条数据 ,循环读出所有数据 怎么写 求帮忙 求大神

问题描述 java 从数据库每次读出5条数据 ,循环读出所有数据 怎么写 求帮忙 求大神 java 从mysql数据库每次读出5条数据,循环读出所有数据 求大神帮忙写下,越详细越好 谢谢了 解决方案 这是个分页查询问题. mysql是使用limit分页的,limit(beginIndex,pageSize),后台把需要的参数set进去就可以了

C#如何从rtf格式内的文件读出内容,并存为xml格式啊?思路

问题描述 这几天公司让我开发一个rtf到xml的软件,用c#,以去除垃圾代码,并把rtf里面的图片提取出来,请问我如何来实现啊?一个简单的rtf文件,里面只有几个字和一个小图片,其代码就是相当的复杂了,如何提取出来啊?谢谢各位了,给个思路也行,非常感谢! 解决方案 解决方案二:可以使用RichTextBox做为一个中间的转换器,比如:RichTextBoxbox=newRichTextBox();box.Rtf=Rtf格式的字符串;stringtext=box.Text;只有格式只有内容的字符串

串口通讯中,为何读出数据读出时候,老是读取其中的一部分,不能一次完全读出,而是残留到下次才能读出。

问题描述 发出的数据格式是以ASCII为2的STX为开头,以2个空格结束的字符串.格式如下STX"ABCDEFGH"字符串空格空格但是接受数据的时候,总是收不到后面的空格.年月日时分秒毫秒16进制数字的显示ASCII格式的显示2008/06/0513:39:42125-41-42-43-44-45-46-47-48ABCDEFGH<--第一次没有收到2个空格(20H20H)2008/06/0513:39:46828-20-20-41-42-43-44-45-46-47-48ABC

复制一个空洞文件且忽略掉其空洞内容

原文:复制一个空洞文件且忽略掉其空洞内容 首先说一下什么叫做空洞文件!比如说,下面这段代码: 1 #include<stdio.h> 2 #include<string.h> 3 #include<stdlib.h> 4 #include<errno.h> 5 #include<sys/types.h> 6 #include<sys/stat.h> 7 #include<fcntl.h> 8 #include<uni

网站不收录非全是内容问题 应统筹兼顾发展(上)

现在出现了部分网站搜索引擎不收录网站内容的情况,于是大部分站长都认为是内容出现了问题,其实搜索引擎不收录网站内容并非全是内容的问题,很多时候与网站的整体有关系,比如你的网站死链过多,你的网站本身被降权都会引起搜索引擎不收录内容出现,面对搜索引擎不收录网站内容我们也不能够泄气,而应该坚持运营下去,那么最正确的方法是什么呢? 我们应当清理网站的内部,让整个网站内部符合搜索引擎收录要求,在进行网站外部的优化,这样双管齐下才能够保证搜索引擎对我们的网站产生友好度,从而加大收录力度,下面我们先来谈谈如何从

SEO内容制作技巧之标题党的秘密

所谓"标题党"就是"在网上利用各种颇具创意的标题吸引网友眼球,以达到各种营销目的的一些网站运营者和网民的总称.其主要行为简而言之即发帖的标题严重夸张,帖子内容通常与标题完全无关或联系不大".百度百科之中,标题党一词被引用的华丽丽的,但是如果你站长seo的角度上来看,那么seo就是内容建设中很关键的一部分,殊不知我们不喜欢标题党,因为这样的不符合内容的原文属性,但是呢,如果没有思考标题党而出来的想法,哪里可以得到一片优质内容引导用户点击的标题呢,这篇文章呢,就写一写关

SEO内容写作指南 如何创作出精彩内容提高网站排名

一提到seo内容写作,许多站长会有这种想法:有什么好说的,不就是找篇文章掐头去尾,改下标题,搞搞伪原创吗?事实上,seo写作真是这样吗? 制作出高质量的内容是seo工作必不可少的一部分,但是到底什么样的内容才称得上高质量,那就仁者见仁,智者见智了.有一些站长认识到原创内容的重要性,即高质量的内容能吸引外链,但是仅仅这些还不够, 必须学习相关知识,并熟练地运用才能对提高排名有实际的帮助.   那么究竟什么样的内容才称得上高质量的呢?一篇高质量的文章有以下几个特点: 1.关键词突出 2.有链接价值

雅虎门户战略调整方向:成为内容上的Google

中介交易 SEO诊断 淘宝客 云主机 技术大厅 [搜狐IT消息]北京时间1月22日消息,雅虎新任COO亨里克·德卡斯特罗(Henrique de Castro)在德国慕尼黑参加DLD大会时表示,雅虎需要大改变.德卡斯特罗认为:"桌面门户需要自我转型.它没有个性化,没有技术,多面手一样的门户正失去流量." 实际上,对于稍稍关注互联网用户习惯的人来说,这种洞见都揭示出让人惊讶的真相.用户在互联网上的习惯变得更社交化.更移动化.更依赖"拉动而非推送"的模式了. 过去几年,