Havn't try java for severals months,I try to write a notepad to review something about Swing and IO.At first,I thought it's just a piece of cake,but lately I found it's not so easy,especially if I want to make it more functional.When open a text file,I found I can't read the Chinese,they are all disorderly code when displayed.
At first,I use BufferedReader in=new BufferedReader(new FileReader(file)) to read the file,but it's error in displaying Chinese.Then I begin to use BufferedReader in=new BufferedReader(new InputStreamReader(new FileInputStream(file),"utf-8")),but it also fails.I got confused,then I change the "utf-8" to "gbk" and it successed.But I don't know why.
I read others' articles about java char coding,I know that jvm's default coding is based on the environment of the os and language.If the"gbk" can work,does it mean that the text file's char coding is "gbk"? I still can't get it.
Here are some good links:
http://www.iteye.com/topic/108540
http://www.iteye.com/topic/311583
After reading that,I wrote a piece of code:
File file=new File("G:\1.txt");
try{
FileInputStream in=new java.io.FileInputStream(file);
byte[] b=new byte[3];
in.read(b);
in.close();
if(b[0]==-17&&b[1]==-69&&b[2]==-65)
System.out.println(f.getName()+"it's UTF-8");
else System.out.println(f.getName()+"maybe GBK");
}catch(Exception e){
e.printStackTrace();
}
Then I know the text file's char coding is not "utf-8"(I think it's gbk),and I use
Charset.defaultCharet() know that the jvm default charset is "utf-8".then I know what happened.
There are some open source projects about how to define the char coding exactly,like the cpdetector(http://cpdetector.sourceforge.net/), it's very helpful.
分享到:
相关推荐
Java Essay - 探索Struts 1框架 在IT领域,Java是一种广泛使用的编程语言,尤其在企业级应用开发中占据重要地位。Struts 1是Apache软件基金会下的一个开源项目,是Java EE(Enterprise Edition)平台上的MVC(Model...
课程设计_基于java实现的论文选题系统源码程序+数据库+项目说明 如何使用本系统: 第一步:clone本项目到你的电脑上 第二步:将Essay_student项目导入到你的eclipse 第三步:将sql文件导入到你的mysql数据库中,推荐...
IntelliJ IDEA是一款由JetBrains公司开发的Java集成开发环境(IDE),被广泛应用于Java、Kotlin、Groovy、Scala等编程语言的开发工作。它以其高效、智能和高度可定制性深受开发者喜爱。"JAVA开发工具之idea 2021"指...
3. **后端开发**:后端处理业务逻辑和数据交互,可能使用Java、Python、.NET等编程语言,配合Spring Boot、Django、ASP.NET等框架。 4. **API接口**:如果与其他系统集成,如身份验证服务、体检机构系统,需要设计...
2. **Web应用开发**:如果这是一个在线平台,可能使用了HTML、CSS、JavaScript等前端技术,以及PHP、Python、Java等后端语言进行开发。 3. **用户界面设计**:为了提供良好的用户体验,需要考虑交互设计和视觉设计...
需要 Java 8 和 Maven 3 Wordnet(在数据/模型文件夹中)句子检测器、带有标签字典的 Maxent 模型和数据/模型中的解析器模型) 从下面的链接下载训练数据并放入 data/Answer_datasets 格式) 使用以下命令构建...
特性对比:| 客户端个数:I/O线程 | 1 : 1 | M : N(其中M可大于N) | M : 1(1个I/O线程处理多个客户端链接) | M : 0(不需
至于“essay”文档,由于没有具体的标题,我们无法确定其具体内容,但它可能包含一篇关于Java编程、Web服务、金融或任何其他相关主题的论述文章,提供了更深入的理论分析或实践经验分享。 总的来说,“document set...
### Java面试复习知识点详解 #### 单选题解析 1. **题目**: 下列哪一项不是Javascript常用的内置对象? - **解析**: Javascript提供了一系列内置对象来帮助开发者更方便地处理数据和执行任务。常见的内置对象包括...
In the past few years there's been a ... In this essay I explore the reasons for agile methods, focusing not so much on their weight but on their adaptive nature and their people-first orientation.
3. **Java编程语言**: 这个程序是用Java编写的,Java是一种广泛使用的面向对象的语言,具有跨平台兼容性和强大的库支持,适合开发复杂的软件系统,包括NLP应用。 4. **外部库依赖**: 程序中提到的外部库路径已损坏...
[游记详情](/img/essay_detail.png) 游记列表 ![游记列表](/img/essay_list.png) 个人信息 ![个人信息](/img/perinfo_page.png) 搜索列表 ![搜素列表](/img/search_info.png) ## 系统设计 ### 邮箱验证 邮箱...
根据提供的信息,我们可以了解到这是一份关于Sun Certified Developer for J2SE (Java 2 Standard Edition) 认证考试 310-027 的学习资料更新通知。下面将对这份资料中的关键知识点进行详细解析。 ### 标题:...
Java platform experts Cade and Roberts provide expert guidance and background for designing effective J2EETM technology architectures—as well as comprehensive preparation for every exam element: ...
- 编码:遵循《Java编程思想》和《阿里巴巴开发手册》的规范进行编码,确保代码质量和可维护性。 3.1 需求分析 - 需求分析报告由Kgako于2022年8月19日完成,版本为V1.0。 3.2 概要设计 - ER图初稿已完成,后续...
用于LLM - Detect AI Generated Text竞赛Version 4: Adding the data from "LLM-generated essay using PaLM from Google Gen-AI" kindly generated by Kingki19 / Muhammad Rizqi.File: train_essays_RDizzl3_seven...