161012、JAVA读写文件,如何避免中文乱码

时间:2023-01-11 16:02:00
1、JAVA读取文件,避免中文乱码。

/**
  * 读取文件内容
  * 
  * @param filePathAndName
  *            String 如 c:\\1.txt 绝对路径
  * @return boolean
  */
public static String readFile(String filePathAndName) {
  String fileContent = "";
  try {  
   File f = new File(filePathAndName);
   if(f.isFile()&&f.exists()){
    InputStreamReader read = new InputStreamReader(new FileInputStream(f),"UTF-8");
    BufferedReader reader=new BufferedReader(read);
    String line;
    while ((line = reader.readLine()) != null) {
     fileContent += line;
    }   
    read.close();
   }
  } catch (Exception e) {
   System.out.println("读取文件内容操作出错");
   e.printStackTrace();
  }
  return fileContent;
}

2、JAVA写入文件,避免中文乱码。

public static void writeFile(String filePathAndName, String fileContent) {
  try {
   File f = new File(filePathAndName);
   if (!f.exists()) {
    f.createNewFile();
   }
   OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(f),"UTF-8");
   BufferedWriter writer=new BufferedWriter(write);
   writer.write(fileContent +  "\r\n");
   writer.close();
  } catch (Exception e) {
   System.out.println("写文件内容操作出错");
   e.printStackTrace();
  }
}