广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java中I/O流读取数据不完整的问题解决
  • 242
分享到

Java中I/O流读取数据不完整的问题解决

2024-04-02 19:04:59 242人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录一·问题描述:二·问题原因:三·解决办法:四·测试结果:成功一·问题描述: 1.利用Java的转换流去读取一

一·问题描述:

1.利用Java的转换流去读取一个JSON文件数据,获取的数据无法被解析为json格式数据(格式总是报错),且获取的数据末尾缺少一部分数据。

(1)Java源代码如图

(2)原json文件如图

(3)解析获取的数据如图:转换为json格式数据报错

二·问题原因:

1.最后一次缓存数组里面的数据,没有拼接到最终字符串数据里面 2.stringBuffer.append(buffer)拼接数据的方法,内部可能会加点空格之类的什么数据,结果导致获取的数据不完整,但数据长度却比原文件数据长。

三·解决办法:

1.由于输入流没有flush方法,因此不能通过刷新解决,但是可以通过改变拼接最终数据的方法解决。

具体操作如下所示:

(1)若缓存数组为:字符数组
将原拼接数据形式: stringBuffer.append(buffer);
更改为这种拼接数据形式(推荐): stringBuffer.append(buffer,0,length);

(2)若缓存数组为:字节数组
将原转换数据形式: String str = new String(cbuf);
更改为这种拼接数据形式(推荐): String str = new String(cbuf,0,len);

(3)若是利用输出流输出数据,也建议使用这种风格。
例如:outputStreamWriter.write(cbuf,0,len);

最终Java源代码如图所示:结果与原json数据长度差一位,基本完全一致

四·测试结果:成功

1.将获取的数据进行json格式解析,结果json格式解析正确且文件末尾数据完整,同时与原json数据长度差一位,基本完全一致。(差的那一位可能是空格)

到此这篇关于Java中I/O流读取数据不完整的问题解决的文章就介绍到这了,更多相关Java I/O流读取数据不完整 内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java中I/O流读取数据不完整的问题解决

本文链接: https://www.lsjlt.com/news/148584.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中I/O流读取数据不完整的问题解决
    目录一·问题描述:二·问题原因:三·解决办法:四·测试结果:成功一·问题描述: 1.利用Java的转换流去读取一...
    99+
    2022-11-13
  • 解决HTTP服务响应数据不完整响应数据截断的问题
    背景 大华一款摄像头Onvif协议响应的xml数据未携带命名空间导致Onvif协议服务解析失败,为了兼容这款摄像头决定对onvif_client进行修改忽略掉命名空间。由于本地没有出...
    99+
    2022-11-13
  • 解决java读取EXCEL数据变成科学计数法的问题
    1.如下图中的检测值存到数据库是科学计数法 2 经过代码处理后 3 只需要对你读到的字符串进行如下操作 BigDecimal bd = new BigDecimal("读到的...
    99+
    2022-11-12
  • 怎么解决HTTP服务响应数据不完整响应数据截断的问题
    这篇“怎么解决HTTP服务响应数据不完整响应数据截断的问题”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么解决HTTP服务...
    99+
    2023-06-29
  • vs如何读取mysql中的数据并解决中文乱码问题
    一、在vs中新建一个工程,然后新建一个源文件 二、右击上述图片中的mysql_test工程名,然后在最下方找到属性,并点击 三、点击VC++目录,在包含目录中添加mysql的文件路径,一般情况下的mysql的默认安装...
    99+
    2022-09-28
  • 解决mybatis中resultType取出数据顺序不一致的问题
    目录mybatis resultType取出数据顺序不一致解决方法mybatis中resultType问题mybatis resultType取出数据顺序不一致 之前做一个页面的动态...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作