FileReader
用于读取字符
流。要读取原始字节
流,请考虑使用 FileInputStream
FileReader
类的构造方法假定默认字符编码和默认字节缓冲区大小都是适当的。要自己指定这些值,可以先在 FileInputStream 上构造一个
InputStreamReader。
用FileReader类读取带汉字的文本文件时会出现乱码 ,即使文件和系统都统一采用UTF-8都会出现此种乱码,对于这种情况我们就可以采用 InputStreamReader来读取,并指定编码格式
FileReader类使用
/**
* 读取xml文件转换为字符串
* @param filePath 文件路径
* @return
*/
private String getXMLString(String filePath) {
int ch = 0;
StringBuffer buf = new StringBuffer();
try {
FileReader reader = new FileReader(filePath); //中文为乱码
while ((ch = reader.read()) != -1) {
buf.append((char) ch);
}
reader.close();
return buf.toString();
} catch (Exception e) {
throw new RalasafeException(e);
}
}
InputStreamReader类使用
/**
* 读取xml文件转换为字符串
* @param filePath 文件路径
* @return
*/
private String getXMLString(String filePath) {
int ch = 0;
StringBuffer buf = new StringBuffer();
try {
InputStreamReader reader = new InputStreamReader(new FileInputStream(new File(filePath)),"UTF-8");
while ((ch = reader.read()) != -1) {
buf.append((char) ch);
}
reader.close();
return buf.toString();
} catch (Exception e) {
throw new RalasafeException(e);
}
}
解决乱码问题
解决乱码问题:FileReader与InputStreamReader的高效应用
本文深入探讨了在处理文本文件时遇到乱码问题的根源,通过对比FileReader和InputStreamReader类的应用场景,阐述了如何在Java中正确地读取包含汉字的文本文件,避免乱码现象。重点介绍了InputStreamReader类的使用方法及其参数指定编码格式的重要性。
533

被折叠的 条评论
为什么被折叠?



