FileReader
用于读取字符 流。要读取原始字节 流,请考虑使用 FileInputStream
FileReader
类的构造方法假定默认字符编码和默认字节缓冲区大小都是适当的。要自己指定这些值,可以先在 FileInputStream 上构造一个 InputStreamReader。
用FileReader类读取带汉字的文本文件时会出现乱码
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);
}
}
解决乱码问题