java读取TXT文件显示在浏览器上,中文内容是乱码,求教~

代码如下。publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsSer... 代码如下。
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
String fileName = request.getParameter("fileName");
fileName = new String(fileName.getBytes("ISO-8859-1"), "UTF-8");
System.out.println("fileName>>>" + fileName);
String filePath = "D://work//" + fileName;
File obj = new File(filePath);
if (!obj.exists()) {
response.setContentType("text/html;charset=UTF-8");
response.getWriter().print("指定文件不存在!");
return;
}
ServletOutputStream out = response.getOutputStream();
URL u = new URL("file:///" + filePath);
response.setContentType(u.openConnection().getContentType());
response.setHeader("Content-Disposition", "inline; filename="
+ obj.getName().getBytes("GB2312"));
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
try {
bis = new BufferedInputStream(new FileInputStream(filePath));
bos = new BufferedOutputStream(out);
byte[] buff = new byte[2048];
int bytesRead;
while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
bos.write(buff, 0, bytesRead);
}
} catch (IOException e) {
throw e;
} finally {
if (bis != null)
bis.close();
if (bos != null)
bos.close();
}
}
}
展开
 我来答
河暈
2013-08-09
知道答主
回答量:1
采纳率:0%
帮助的人:1478
展开全部
用过滤器啊 网上代码多的很 随便找一个就是 页面上的格式用UTF-8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天亮中
2013-08-09 · TA获得超过6755个赞
知道小有建树答主
回答量:1404
采纳率:66%
帮助的人:685万
展开全部
看一下文本保存的格式是不是UTF-8,还有页面的编码格式。
追问
文本格式是ANSI 页面是utf-8
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式