servlet读取txt文件防止中文乱码
时间: 2024-06-19 09:03:31 浏览: 96
在 Servlet 中读取 txt 文件时,如果文件中包含中文字符,可能会出现乱码的情况。为了避免这种情况,可以使用 InputStreamReader 和 BufferedReader 对文件进行读取,同时指定字符编码方式为 UTF-8。
下面是一个读取 txt 文件并防止中文乱码的示例代码:
```java
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 读取文件
InputStream is = new FileInputStream("file.txt");
InputStreamReader isr = new InputStreamReader(is, "UTF-8");
BufferedReader br = new BufferedReader(isr);
// 读取文件内容
String line;
StringBuilder sb = new StringBuilder();
while ((line = br.readLine()) != null) {
sb.append(line);
}
// 关闭流
br.close();
isr.close();
is.close();
// 输出结果
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h1>" + sb.toString() + "</h1>");
out.println("</body></html>");
}
```
阅读全文