问题:在读一个txt文件中的日期数据"2020-06-18"存入数据库时,发现读出的string怎么转都不能转为sql.Date类型。

初步诊断:System.out.println()输出的从流中读的字符串和预期字符串一样,但是length属性一个是21,一个是10。(因为字符间填充了"u0000",而且是空字符)空字符输出:System.out.println("aa"+"u0000"+"bb")输出为aabb。不同版本jvm可能输出不一样,有的是空格。

症状:通过debug发现存放string的char[]填充了大量的"u0000"存在,这个是unicode编码中Character的最小值。

(文件字符流编码默认为GBK,JVM默认编码是UNICODE)

问题截图如下:

解决方法:

可分为两类:设置编码格式;删除所有"u0000"。

设置编码

又分为设置流的编码,以及设置String的编码。

设置流编码new BufferedReader(new InputStreamReader(inputStream,"unicode"));

设置String编码str = new String(str.getBytes("GBK"),"unicode");

删除所有u0000str = str.replace("\u0000", "");

结果展示:

java 流 改变编码_JAVA IO流中字符串编码不一致问题相关推荐

  1. java io流拒绝访问_JAVA IO流 - 张宏良的个人空间 - OSCHINA - 中文开源技术交流社区...

    IO流 一.File类的使用 java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关 File能新建.删除.重命名文件和目录,但File不能访问文件内容本身.如果需要访问文件内容本身 ...

  2. 基于java洗浴中心管理系统_Java IO流详解

    流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  3. java io流填空题,java面试题选择题_java,Io流面试题和选择题

    Java对象的序列化指将一个java对象写入OI流中,与此对应的是,对象的反序列化则从IO流中恢复该java对象.下面就由小编为大家介绍一下java Io流面试题和选择题的文章,欢迎阅读. java ...

  4. java 输入流关闭顺序_Java IO流中先关闭输出流还是先关闭输入流?为什么?

    java中需要手动释放的资源bai常见的有以下两个: 流相du关资zhi源 流相关资源一般遵循: 1)先开后关dao,先开的输入流,再开的输出流,通过读取输入流写入输出流中,那么应该先关输出流,再关输 ...

  5. java io流不关闭_Java IO流关闭问题的深入研究

    前几天看了一篇文章(见参考文章),自己动手试了下,发现有些不一样结论,作博客记录下,本文主要研究两个问题: 包装流的close方法是否会自动关闭被包装的流? 关闭流方法是否有顺序? 包装流的close ...

  6. java文件流写入文件_JAVA IO流编程 实现文件的写入、写出以及拷贝

    一.流的概念 流:数据在数据源(文件)和程序(内存)之间经历的路径. 输入流:数据从数据源(文件)到程序(内存)的路径. 输出流:数据从程序(内存)到数据源(文件)的路径. 以内存为参照,如果数据向内 ...

  7. java io流屏幕输出_java IO流 之 输出流 OutputString()的使用

    FileOutPutStream:子类,写出数据的通道 步骤: 1.获取目标文件 2.创建通道(如果原来没有目标文件,则会自动创建一个) 3.写入数据 write() 4.释放资源 注意: (1)如果 ...

  8. java文件流读取异常_Java IO流的FileInputStream读取文件的问题,不同写法输出不一样...

    利用FileInputStream的read()方法读取文件时,读出的数据强制转换时用不同的写法,在控制台得出不同的显示. 出问题的写法: 正确输出的写法: 以下为两种输出,错误输出是输出一串数字,正 ...

  9. java 流 存放在哪_java IO流学习

    若网站将链接屏蔽,可直接拷贝原文链接到地址栏跳转观看,原文链接:https://www.cnblogs.com/wengshuhang/p/10133020.html 之前的工作很少使用io,就算用了 ...

  10. 菜鸟学习笔记:Java提升篇5(IO流1——IO流的概念、字节流、字符流、缓冲流、转换流)

    菜鸟学习笔记:Java IO流1--IO流的概念.字节流.字符流.缓冲流.转换流 IO流的原理及概念 节点流 字节流 文件读取 文件写出 文件拷贝 文件夹拷贝 字符流 文件读取 文件写出 处理流 缓冲 ...

最新文章

  1. 美丽新世界:这七个原因将让未来更美好
  2. 初识神经网络NeuralNetworks
  3. Mp3tag(MP3文件信息修改器) V2.79a 多语绿色版
  4. 65 + iPhone应用程序网站创意设计灵感(上篇)
  5. 一切转型始于数据和模型 | 2020 MATLAB EXPO 中国线上用户大会:即将上线
  6. 它利用计算机和现代通信技术,现代通信技术复习概论
  7. 6款帮助 滚动视差jquery插件
  8. 怎么用计算机打出来自天堂的恶魔呢,来自天堂的恶魔
  9. Android9.0删除高通ADsp固件(二十六)
  10. 凌云一周看点 | 从运维和SRE角度看监控分析平台建设;从操作系统层面分析Java IO演进之路;机器学习落地的五个阶段...
  11. ​倒卖二手书,一个被忽略的项目,​做的​好月赚1w+
  12. Week 2 Sequence Labelling
  13. 应用程序正常初始化失败 VS2005
  14. android屏幕刷新显示机制 前肩 后肩的解释
  15. Android - Bootloader? root原理?Recovery? SuperSU?Magisk?Xposed?ROM包?这都啥玩意?
  16. 3d打印材料有哪几种
  17. JAVA的sdn控制器,RG-ONC锐捷智能开放网络SDN控制器
  18. printf(\033[1;33m Hello World. \033[0m \n);有趣的串口之超级终端的玩法
  19. 第一章 略说中医的学习与研究(4)
  20. X509V3数字证书介绍

热门文章

  1. 图像语义分割(10)-DeepLabV3+: 用于图像语义分割的带有空洞可分离卷积的编解码结构
  2. Ubuntu安装pycharm后没有快捷方式的解决办法
  3. 黑马程序员 Java多态
  4. Oracle 左连接(+)加号用法及常用语法之间的关系
  5. 第一章:开始启程-你的第一行Android代码
  6. python之使用request模块发送post和get请求
  7. Struts2(三)
  8. Navicat(连接) -1之Navicat Cloud
  9. root用户改动普通用户文件
  10. Silverlight+WCF 新手实例 象棋 棋子移动-规则补充(三十七)