




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第Java获取字符串编码格式实现思路判断一个字符串的编码格式:
publicstaticStringgetEncoding(Stringstr){
Stringencode="GB2312";
try{
if(isEncoding(str,encode)){//判断是不是GB2312
returnencode;
}catch(Exceptionexception){
encode="ISO-8859-1";
try{
if(isEncoding(str,encode)){//判断是不是ISO-8859-1
returnencode;
}catch(Exceptionexception1){
encode="UTF-8";
try{
if(isEncoding(str,encode)){//判断是不是UTF-8
returnencode;
}catch(Exceptionexception2){
encode="GBK";
try{
if(isEncoding(str,encode)){//判断是不是GBK
returnencode;
}catch(Exceptionexception3){
return"";//如果都不是,说明输入的内容不属于常见的编码格式。
publicstaticbooleanisEncoding(Stringstr,Stringencode){
try{
if(str.equals(newString(str.getBytes(),encode))){
returntrue;
}catch(UnsupportedEncodingExceptione){
e.printStackTrace();
returnfalse;
}
Java获取一个文本文件的编码格式
文本文件是我们在windows平台下常用的一种文件格式,这种格式会随着操作系统的语言不同,而出现其默认的编码不同
那么如何使用程序获取文本文件的编码方式呢?
文件编码的格式决定了文件可存储的字符类型,所以得到文件的类型至关重要
下文笔者讲述获取一个文本文件的格式信息的方法分享,如下所示:
实现思路:
通过获取文件流的前3个字节
判断其值的方式,即可获取文本文件的编码方式
例:
packagecom.java265.other;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.InputStream;
publicclassTest{
*获取文本文件的编码方式
publicstaticvoidmain(String[]args){
Filefile=newFile("E://person//java.txt");
System.out.println(GetEncoding(file));
publicstaticStringGetEncoding(Filefile)
Stringcharset="GBK";
byte[]first3Bytes=newbyte[3];
try{
booleanchecked=false;
InputStreamis=newFileInputStream(file);
intread=is.read(first3Bytes,0,3);
if(read==-1)
returncharset;
if(first3Bytes[0]==(byte)0xFFfirst3Bytes[1]==(byte)0xFE){
charset="UTF-16LE";
checked=true;
}elseif(first3Bytes[0]==(byte)0xFE
first3Bytes[1]==(byte)0xFF){
charset="UTF-16BE";
checked=true;
}elseif(first3Bytes[0]==(byte)0xEF
first3Bytes[1]==(byte)0xBB
first3Bytes[2]==(byte)0xBF){
charset="UTF-8";
checked=true;
}elseif(first3Bytes[0]==(byte)0xA
first3Bytes[1]==(byte)0x5B
first3Bytes[2]==(byte)0x30){
charset="UTF-8";
checked=true;
}elseif(first3Bytes[0]==(byte)0xD
first3Bytes[1]==(byte)0xA
first3Bytes[2]==(byte)0x5B){
charset="GBK";
checked=true;
}elseif(first3Bytes[0]==(byte)0x5B
first3Bytes[1]==(byte)0x54
first3Bytes[2]==(byte)0x49){
charset="windows-1251";
checked=true;
//bis.reset();
InputStreamistmp=newFileInputStream(file);
if(!checked){
intloc=0;
while((read=istmp.read())!=-1){
loc++;
if(read=0xF0)
break;
if(0x80=readread=0xBF)
break;
if(0xC0=readread=0xDF){
read=istmp.read();
if(0x80=readread=0xBF)
continue;
else
break;
}elseif(0xE0=readread=0xEF){
read=istmp.read();
if(0x80=readread=0xBF){
read=istmp.read();
if(0x80=readread=0xBF){
charset="UTF-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水利水电工程考试期间的查漏补缺试题及答案
- 水利水电工程行业动态追踪试题及答案
- 2025年市政工程试题及答案概览
- 关于中央经济政策的中级经济师试题及答案
- 真理主题班会课件
- 工程项目成本控制试题及答案
- 加强日常消毒和环境卫生工作计划
- 爱情测试题及答案
- 美术教育观念的革新与反思计划
- 行政管理经济法试题及答案的深入探讨
- 临床尿动力学检查实施演示文稿
- 新旧物业公司交接管理流程
- YS/T 394-2007钽精矿
- GB/T 17193-1997电气安装用超重荷型刚性钢导管
- ETF融资融券的应用策略课件
- 东芝空调用户使用手册
- 全国卷高考标准语文答题卡作文纸3栏800字版
- DB32T 4284-2022 居民住宅二次供水工程技术规程
- 放射性物品道路运输申请表样表
- 110kV变电站高压试验报告完整版
- TSG Z7001-2004 特种设备检验检测机构核准规则
评论
0/150
提交评论