Home > Java > javaTutorial > body text

Introduction to methods to prevent Chinese garbled characters when reading and writing txt files in Java

高洛峰
Release: 2017-01-20 16:15:38
Original
1512 people have browsed it

Problem: When using Java programs to read and write txt files containing Chinese characters, the content read or written often appears to be garbled. The reason is actually very simple, that is, the system encoding and program encoding use different encoding formats. Usually, if you don't modify it yourself, the encoding format used by Windows itself is gbk (and gbk and gb2312 are basically the same encoding method), and if the Encode in the IDE is not modified, the default encoding is utf-8, which is why The reason for garbled characters. When a txt file (gbk) created and written manually under the OS is read directly by a program (utf-8), the text will be garbled. In order to avoid possible Chinese garbled problems, it is best to explicitly specify the encoding format when writing and reading files.

1. Write file:

public static void writeFile(String fileName, String fileContent) 
{  
  try 
  {  
    File f = new File(fileName);  
    if (!f.exists()) 
    {   
      f.createNewFile();  
    }  
    OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(f),"gbk");  
    BufferedWriter writer=new BufferedWriter(write);    
    writer.write(fileContent);  
    writer.close();  
  } catch (Exception e) 
  {  
    e.printStackTrace();  
  }
}
Copy after login

2. Read file:

public static String readFile(String fileName)
{  
  String fileContent = "";  
  try 
  {   
    File f = new File(fileName);  
    if(f.isFile()&&f.exists())
    {   
      InputStreamReader read = new InputStreamReader(new FileInputStream(f),"gbk");   
      BufferedReader reader=new BufferedReader(read);   
      String line;   
      while ((line = reader.readLine()) != null) 
      {   
        fileContent += line;   
      }    
      read.close();  
    }  
  } catch (Exception e) 
  {    
    e.printStackTrace();  
  }  
  return fileContent; 
}
Copy after login

More Java reads and writes txt files Please pay attention to the PHP Chinese website for related articles on methods to prevent the problem of Chinese garbled characters!


Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!