这是我写的一个Java课程作业时,遇到的问题。
问题描述:
我要实现的就是将txt文件中的内容按一定格式读取出来后,存放在相应的数组。
我刚开始运行时发现,英文可以实现,但是中文字符就是各种乱码。
最后各种检查排错得到原因如下:
(1)最好先检查你的Eclipse中的Window->Preference->General->WorkSpace中的字符编码格式是什么,最后选成UTF-8格式的。
然后右键你的工程在弹出的菜单项中选择Resource查看编码格式,也把它改成UTF-8格式的。
(2)再将InputStreamReader类对象 in2reader 中使用System.out.println(in2reader.getEncoding());
来查看编码格式。而且使用读取txt文件中的内容最好是按照字符流进行读取使用BufferReader,它里面有很方便的按行读取的函数readLine(),返回的是换行符前的字符串;
(3)使用Notepad++来对你的txt文件进行文件编码格式的选择,在菜单栏下的格式选项中。注意一定要选成UTF-8无BOM格式编码。
(4)运行你的程序就正确输出啦!
总结:其实这个问题最本质的解决办法的就是要把握好,文件本身格式的编码格式以及Java程序读取时的格式,把握好这一点,这个小问题就可以轻而易举地解决啦。
下面是我的参考示例代码:
1 /*
2 *从txt文件中读取数据存放到学生类数组中3 */
4
5
6 packagewoshijpf;7
8 importjava.io.BufferedInput