A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© SOAR 中级黑马   /  2013-4-27 21:51  /  2009 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 SOAR 于 2013-5-6 13:14 编辑

在我们的webapp下放着一个文本文件test.txt,里面有中文,我想将它读出来然后放在application中,在一个jsp页面显示出来。但是我用下面的方法读出来以后在页面显示的怎么是乱码呢?
BufferedReader in
   = new BufferedReader(new FileReader("test.txt"));
List<String> names = new ArrayList<String>();
String str = in.readLine();
while(str!=null){
    names.add(str);
    str=in.readLine()
}

但是我把这段代码写在一个普通的main方法测试的时候,就好了。为什么呢?求高手讲解。

评分

参与人数 1技术分 +1 收起 理由
HM汪磊 + 1

查看全部评分

9 个回复

倒序浏览
我虽然不熟悉JAVA 但是有没有可能因为编码的问题呢?
回复 使用道具 举报
你把jsp页面的编码设置为gbk试试!乱码问题应该是编码不一致造成的!
回复 使用道具 举报
编码格式问题,把txt文件和jsp都另存为utf-8格式
回复 使用道具 举报
码表问题吧
回复 使用道具 举报
一般都是编码的问题,你可以在项目里加过滤器,对流的编码进行设置。或者在jsp页面进行编码,在servlet进行解码具体urlencoder 类。第三种方法就是硬编码,直接将流硬编码为一种编码格式。
回复 使用道具 举报
如果仍有问题,请继续追问,如果问题已解决,请将分类改为已解决,谢谢
回复 使用道具 举报
SOAR 中级黑马 2013-5-6 13:07:22
8#
于淼 发表于 2013-4-27 22:39
我虽然不熟悉JAVA 但是有没有可能因为编码的问题呢?

首先谢谢你。
我试过了,但是还是乱码。
回复 使用道具 举报
SOAR 中级黑马 2013-5-6 13:08:01
9#
金辉 发表于 2013-4-28 18:34
编码格式问题,把txt文件和jsp都另存为utf-8格式

谢谢。
改过了没用。
回复 使用道具 举报
找了好久,终于在google上发现了解决方案,现在就贴出来,希望大家可以共同进步哈。
我们应该构建这样一个BufferedReader
File f = new File("test.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"utf-8");
在底层还是需要读字节流的方式,这样才能在容器中避免乱码。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马