java有没有那个方法 获取文件保存的编码方式啊?

比如一个txt文件是用gbk、utf-8那种方式保存的... 比如一个txt文件是用 gbk 、utf-8那种方式保存的 展开
 我来答
jamxval
2014-11-05 · TA获得超过6822个赞
知道大有可为答主
回答量:4308
采纳率:82%
帮助的人:1432万
展开全部
如果一个文本文件被“文件编辑器”编辑过,可能会带上一些标记 ,就是文件的前几个字节说明了它的字符集编码方式,但并不是所有编辑器都会这么做,也可能在保存时由人来决定是否放置标记。

因此理论上说如果编辑器未放置任何标记是不可能知道文件的原始字符编码的,就好像你初次看一份密码加密过的文件时你也不可能知道它是什么加密方式一样,因为编码方式并不会和编码的数据放在一起的。

正常的方法是当你读取一个文件时,应该有人已经告诉了你这个文件是字符集是什么。这个过程应该是人工决定的,比如人们把它写在一个配置文件中,或者约定了整个软件只使用 UTF8 或 GBK 一种编码方式。作为一个通用型的软件推荐使用 UTF8 而不是 GBK,因为当你保存一个人名时你也知道这片神奇的土地上就是有些父母给孩子取名字时用一些中小学生字典上都找不到的字。这时GBK是无法保存这个汉字的。你不希望将来自己的软件碰到这个问题吧,解决的办法就是这么简单,用 UTF8就可以了。
更多追问追答
追问
别人给我一个文件,我用window自带的文本编辑器打开,改完保存。
若果原来里边有汉字,使用GBK保存,我改完之后保存时选择用utf-8很可能会乱码的,很多汉字在这两种编码方式 编码是不一样的。
所有我要先知道文件是什么类型,改完之后依然用原来的那种编码方式保存。
追答
这个没有办法直接从文件内容本身得出答案,只有让给你文件的作者告诉你答案。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式