关于读取本地text文件,自动被添加空格的问题

最近做一个小程序,读取本地指定路径下的text文件,逐行获取text文本然后再进行处理,结果遇到了一个奇葩问题,先插个图片给各位看官

坑:本地text文件中数据为1123/10(数据反复检查无空格,换行之类),经过截取后,str1=1123  str2=10,可是打印结果显示str1.length()=5

问题原因:不详,本人菜鸟没弄懂,欢迎各位看官各显神通

问题原因百度:

unicode编码为65279的字符叫“ZERO WIDTH NO-BREAK SPACE”即没有宽度的空格符,本质上也是null值,但是不同于null。byte-order mark(BOM)是位于码点U+FEFF的统一码字符的名称。当以UTF-16或UTF-32来将UCS/统一码字符所组成的字符串编码时,这个字符被用来标示其字节序。它常被用来当做标示文件是以UTF-8、UTF-16或UTF-32编码的记号。说白了就是位于文本最前面用来标识该unicode编码的文本内容是以UTF-8、UTF-16或UTF-32编码的。通过查询发现windows的记事本程序在打开文本内容后会自动添加BOM,我怀疑是那个模块在编码的时候用记事本编辑过代码,然后在模板或其他可能的文件中添加了BOM。

解决方法:如上对char类型首位进行判断,如果首位存在问题则进行处理.

时间: 2024-10-12 19:03:46

关于读取本地text文件,自动被添加空格的问题的相关文章

java读取本地text文件

//按字节读取 public static void readByBytes(String url) { File file = new File(url); InputStream in = null; try { in = new FileInputStream(file); int temp; while ((temp = in.read()) != -1) { System.out.println(temp); } } catch (FileNotFoundException e) {

iOS国家城市选择器 读取本地json文件

最近在做的产品有这么个需求,读取本地json文件中的国家和城市信息,显示到pickerview上,在网上查了一下,发现没有什么合适的可用资源,所以就自己写了一个简单的DEMO. 效果图: 读取本地json的方法如下: + (NSMutableArray *)getCityData { NSArray *jsonArray = [[NSArray alloc]init]; NSData *fileData = [[NSData alloc]init]; NSUserDefaults *UD = [

UWP 读取本地XML文件

读取本地XML文件时要将xxx.xml文件的“生成操作”改为“嵌入的资源”会比较好,在手机上运行的话需要改为“内容” <?xml version="1.0" encoding="utf-8"?> <DataSet xmlns="http://WebXml.com.cn/"> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata

读取本地数据库文件

有时候我们可以将类似省份城市的数据库文件存放在assets/文件夹名/××.sql下,当程序在创建数据库时读取该数据库文件,并执行其内的sql语句 在SqLiteOpenHelper类的onCreate方法中调用 executeAssetsSQL(db, "××.sql"); /** * 读取数据库文件(.sql),并执行sql语句 * */ private void executeAssetsSQL(SQLiteDatabase db, String schemaName) { Bu

[转]World Wind Java开发之五——读取本地shp文件

World Wind Java 使用IconLayer图层类表现点和多点数据,使用RenderableLayer图层表现线和面数据,一个图层只能对应一组shape文件.World Wind Java首先使用ShapefileLoader类完成对shape文件的读取和加载,再通过createLayerFromSource方法创建RenderableLayer,最后将创建的Layer加在layers上.源码如下: /** * * 方法名称: AddShapeData : * 方法描述: 添加本地sh

World Wind Java开发之五——读取本地shp文件

World Wind Java 使用IconLayer图层类表现点和多点数据,使用RenderableLayer图层表现线和面数据,一个图层只能对应一组shape文件.World Wind Java首先使用ShapefileLoader类完成对shape文件的读取和加载,再通过createLayerFromSource方法创建RenderableLayer,最后将创建的Layer加在layers上.源码如下: /** * * 方法名称: AddShapeData : * 方法描述: 添加本地sh

读取本地DTD文件的解决办法

1.将DTD文件放在web目录,例如发布的目录为TDE,这需要将对应的DTD文档放在TDE目录下,同时修改配置文件的的DTD设置为: 例如: <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC  "-//mybatis.org//DTD Config 3.0//EN"  "mybatis-3-config.dtd">

World Wind Java开发之七——读取本地栅格文件(影像+高程)构建三维场景

首先,看下本篇博客要达到的效果图: 下面逐步分析如何加载影像及高程文件. 1.WorldWind Java导入数据包 在src源码文件中找到dataimport包,这个包里面的示例代码演示了如何向WW上加载影像及高程文件.可以看到有import和install两种方式,import是简单的以图层的形式加载到WW上:install是指当文件较大时,将文件以本地缓存的方式加载,这里先以import方式导入影像及高程文件.源码比较简单,这里就不再过多解析了. 2.WWJ加载影像文件 直接给出源码,注释

jQuery中读取本地json文件

json文件是一种轻量级的数据交互格式.一般在jquery中使用getJSON()方法读取,具体示例代码如下,感兴趣的朋友可以参考下哈,希望可以帮助到你 $.getJSON(url,[data],[callback]) url:加载的页面地址 data: 可选项,发送到服务器的数据,格式是key/value callback:可选项,加载成功后执行的回调函数 目录结构: 1.首先建一个JSON格式的文件userinfo.json 保存用户信息. 如下: [ { "name":"