UTF-8格式txt文件读取字节前三位问题

今天试着读取一份UTF-8格式的txt文件,内容如下

12345

但是每次读取之后转为String类型,输出字符串长度总是为6,并且第一位打印在控制台后不占任何空间。

经过debug查看字节码后发现,在读取文件后的字节流中,前三位的字节分别是

-17,-69,-65

经过查看资料才发现,这是utf-8格式所带的特殊字节。凡是utf-8格式的文件文件,都会有这三个字节。

这种情况会导致对读取后的字符串进行截取时出现问题。

比如读取日期格式时,内容为2018-09-29 00:00:00,而我想要的是2018-09-29,可以通过方法substring转换。

s.substring(0,10)

但是转换出来的结果却是:2018-09-2。

这就是因为三个特殊字节被转换为字符串后占了一行空格。

原文地址:https://www.cnblogs.com/yxth/p/9725157.html

时间: 2024-08-27 09:04:37

UTF-8格式txt文件读取字节前三位问题的相关文章

UVA - 11029Leading and Trailing(快速幂取模取后三位 + log10()取前三位)

题目: UVA - 11029Leading and Trailing(快速幂取模取后三位 + log10()取前三位) 题目大意:给你N的k次方,然后要求你求出这个数的前三位和后三位. 解题思路:因为n和k都很大,这个数求出来是大数,所以可以用快速幂取模求后三位,因为后面的三位和前面的位数的没有关系.前面的三位比较难办.设x = log (n^k)  = k * log10(n),那么10^x = k * log10(n).将X = a(整数) + b(小数),整数部分10^a只是移动小数点,

java 实现txt文件读取,写入操作实例代码。

一.需求:在txt文件中需要把建表语句的varchar(XXX)里面的XXX乘以4,然后在按照原来的格式进行输出. 需求如下: 转换后如下图: 实现代码如下: package commingming; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; public class

LightOJ 1282 - Leading and Trailing (求n的k次方的前三位数字 后三位)

题意:http://www.lightoj.com/volume_showproblem.php?problem=1282 n^k = a.bc * 10.0^m:等式两边同时加上log10k*log10(n) = log10(a.bc) + m;m为k * log10(n)的整数部分,log10(a.bc)为k * lg(n)的小数部分;x = log10(a.bc) = k*log10(n) - m = k*log10(n) - (int)k*log10(n);x = pow(10.0, x

【学习】从.txt文件读取生成编译代码。

1 string code = null; 2 String projectName = Assembly.GetExecutingAssembly().GetName().Name; 3 // 1. 生成要编译的代码.(示例为了简单直接从程序集内的资源中读取) 4 Stream stram = Assembly.GetExecutingAssembly() 5 .GetManifestResourceStream(projectName + ".code.txt"); 6 using

Python txt文件读取写入字典的方法(json、eval)

一.使用json转换方法 1.字典写入txt import json dic = { 'andy':{ 'age': 23, 'city': 'beijing', 'skill': 'python' }, 'william': { 'age': 25, 'city': 'shanghai', 'skill': 'js' } } js = json.dumps(dic) file = open('test.txt', 'w') file.write(js) file.close() 2.读取txt

Asp.net读取和写入txt文件方法(实例)!

Asp.NET读取和写入txt文件方法(实例)! [程序第一行的引入命名空间文件 - 参考] System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; usi

word和.txt文件转html 及pdf文件, 使用poi jsoup itext心得

word和.txt文件转html 及pdf文件, 使用poi jsoup  itext心得本人第一次写博客,有上面不足的或者需要改正的希望大家指出来,一起学习交流讨论.由于在项目中遇到了这一个问题,在网上也找了很多方法,感觉千篇一律,总有一些问题,因此总结出word转html和pdf文件使用方法.虽然poi功能不是很强大,但毕竟不依靠本地office软件,同样还有一种方式使用jacob也可以将word转html,不过这个方式要依靠本地office,而且只能在windows平台下,不支持unix系

Web API删除JSON格式的文件记录

Insus.NET的系列Web Api学习文章,这篇算是计划中最后一篇了,删除JSON格式的文件记录.前一篇<Web Api其中的PUT功能演示>http://www.cnblogs.com/insus/p/4346982.html中学习了怎样更新数据.程序开发涉及到数据的,为了让用户方便管理,一般提供了查询,添加,更新以及删除功能.本篇中是针对文件中的数据进行删除. 下面Insus.NET就对此进行详尽演示.Web Api的一个type: "DELETE".在API控制中

曹工说Spring Boot源码(5)-- 怎么从properties文件读取bean

写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean Definition到底是什么,咱们对着接口,逐个方法讲解 曹工说Spring Boot源码(3)-- 手动注册Bean Definition不比游戏好玩吗,我们来试一下 曹工说Spring Boot源码(4)-- 我是怎么自定义ApplicationContext,从json文件读取bean de