- 主题:很多年不用JAVA,最近用了下,快被两个问题整疯了
特来本版请教。
1、第一个应该是 字符集的问题。
我将Eclipse字符集设定为 UTF-8, 将UE设置为UTF-8。用UE创建一个csv的文本文件,使用Eclipse JAVA程序从里面读数据。
但是读出的数据和想要的偶尔会不一致。比如我文本文件里面是"73103", 进入调试模式,肉眼识别读出的字符串值就是"73103";然后用"73103".equals(读出的字符串)比较,总是报false。用其他执行正确的文本文件,rename文件名,同样的"73103"就执行正确。生产力在这里急剧降低,快被折腾疯了。
2、是一个new File(全路径文件名).exists() 判断出错问题。
我在前面的代码创建了一个文件,然后使用文件名判断文件是否存在,明明存在的文件,却报 false.
感觉都是很基础的问题。请本版老师不吝指教,谢谢。
--
修改:jetscout FROM 43.242.154.*
FROM 43.242.152.*
您好,谢谢您的帮助。
1、我的CSV文件是在UE手工创建的。我明天再确认下我的UE配置。同时用windows自带的文本文件编辑器打开csv看看。
2、我用debug模式检查了,报错时文件已经在了,文件路径和文件名都是一致的。我想请同事明天再帮我检查下。
【 在 Xjt 的大作中提到: 】
: 1. 您好,根据您的描述,这可能是由于读取csv文件时的编码问题导致的。请问您的csv文件是使用UTF-8编码保存的吗?如果不是,可能会导致读取出来的数据与预期不一致。另外,您可以尝试使用其他文本编辑器打开csv文件并查看其编码格式是否与您的设定一致。
: 2. 您好,根据您的描述,可能是文件路径或文件名拼写出现了错误。请您检查一下路径和文件名是否正确,并且确保在使用new File(全路径文件名).exists()判断文件是否存在之前,文件已经被成功创建。另外,您也可以尝试使用绝对路径或相对路径来检查文件是否存在。
:
: ...................
--
FROM 43.242.154.*
好的,我明天再检查下。
【 在 solrex 的大作中提到: 】
: UTF-8 有一种BOM编码,你要用的是Windows,要注意
: 发自「快看水母 于 V2134A」
--
FROM 43.242.154.*
谢谢关注哈。chatgpt功能还是蛮强大的,我明天再检查下。
【 在 Xjt 的大作中提到: 】
: 我都没仔细看lz的问题,也没看chatgpt的回答是否正确,就纯贴一下哈哈哈
--
FROM 43.242.154.*
谢谢这么详尽的回复。
====================
基本功不扎实。
1、你的Eclipse虽然设置了工作区文本编码为UTF-8,但你的Java文件是新建的还是旧的
呢?旧的就有可能是GBK编码。
---我帖子重新编辑了下,是用UE创建的。我明天需要再确认下UE的编码设置。
2、你看到字符串是“73103”,但你的代码里是拿“71303”来和“73103”比较,能相
等的话,火星都能撞地球了。
--这个是帖子写错了。
3、你的new File(全路径文件名).exists()是用得全路径,但你能确定你前面代码生成
的文件的路径的全路径也是这个吗?
--这个我明天再确认下。找同事也看下,避免一个人看花眼。
不认真的人,写出来的代码,是不靠谱的,不可信任的。
【 在 callmebbser 的大作中提到: 】
: 基本功不扎实。
: 1、你的Eclipse虽然设置了工作区文本编码为UTF-8,但你的Java文件是新建的还是旧的
: 呢?旧的就有可能是GBK编码。
: ...................
--
FROM 43.242.154.*
是的,用16进制打开看了下,多了0xEF 0xBB 0xBF (BOM)。不知道什么时候加进去的,怎么去掉。
- 来自 水木社区APP v3.5.7
【 在 solrex 的大作中提到: 】
: UTF-8 有一种BOM编码,你要用的是Windows,要注意
--
FROM 43.242.152.*
是的,是和第一个问题关联的。第一个文件头有BOM,用开头这部分字符串生成的第2个文件名,于是连第2个文件都识别不到了。
- 来自 水木社区APP v3.5.7
【 在 yookee 的大作中提到: 】
: 对于第二个问题,全路径里是不是有非ANSI字符,如有那么就回到第一个问题了
--
FROM 43.242.152.*
谢谢关注哦。我将文件改成GBK编码了。
- 来自 水木社区APP v3.5.7
【 在 solrex 的大作中提到: 】
: 一般高级点的编辑器如UE,在保存的菜单或者对话框里,都有编码选项,可以保存成UTF-8无BOM编码。
--
FROM 116.178.193.*
谢谢,我是这样做的。
谢谢关注哦。
- 来自 水木社区APP v3.5.7
【 在 nikezhang 的大作中提到: 】
: ue保存的时候可以选择用不用bom的,你仔细看看保存对话框
--
FROM 43.242.153.*