比如windows的一个TXT文本采用的编码格式是gbk(而gbk和gb2312基本上是一样的编码方式),在Linux下默认采用utf-8编码,直接读取文件,显然会出现乱码,所以需要在读写时显式的指定编码方式。
1、写文件:
- 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();
- }
- }
2、读文件:
- 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;
- }