Java读写文件,中文乱码解决

时间:2023-01-11 16:06:18

读文件:使用new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));

     StringBuffer strBuf = new StringBuffer();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
int tempchar;
while ((tempchar = bufferedReader.read()) != -1) {
strBuf.append((char) tempchar);
}
bufferedReader.close();
return strBuf.toString();
 

写文件:使用new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8"));

     File file = new File(filePath + "/" + fileName);
        if (!file.exists()) {// 如果文件不存在则创建
            file.createNewFile();
        } else {
            throw new Exception("文件已存在");
        }
        // 获取该文件的缓冲输出流
        BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), "UTF-8"));
        // 写入信息
        bufferedWriter.write(content);
        bufferedWriter.flush();// 清空缓冲区
        bufferedWriter.close();// 关闭输出流