import java.io.BufferedReader;  
import java.io.File;  
import java.io.FileInputStream;  
import java.io.FileNotFoundException;  
import java.io.IOException;  
import java.io.InputStreamReader;  
import java.io.UnsupportedEncodingException;  
import java.util.ArrayList;  
import java.util.HashMap;  
import java.util.List;  
import java.util.Map;  
import jeasy.analysis.MMAnalyzer;  
     
 public static String readFiles(String file) throws FileNotFoundException, IOException {  
        StringBuffer sb = new StringBuffer();       
        InputStreamReader is = new InputStreamReader(new FileInputStream(file), "UTF-8");  
        BufferedReader br = new BufferedReader(is);  
        String line = br.readLine();  
        while (line != null) {  
            sb.append(line).append("\r\n");  
            line = br.readLine();  
        }  
        br.close();  
        return sb.toString();  
    }  

解决方案 »

  1.   

    读取代码是按UTF-8,那么生成文件时指定了字符集吗?
    读写是配对一起使用的
      

  2.   

    UTF-8好像有个带BOM和不带BOM的问题。你网上查查? 不然你把你的中文的测试文件也贴出来呀
      

  3.   

    xml文件是utf-8格式吗?
      

  4.   

    主要看看xml的编码方式
      

  5.   

     InputStreamReader is = new InputStreamReader(new FileInputStream(file), "UTF-8");  
    首先你用节点流读取file 此流为字节流,然后用UTF-8把这些字节转换为人可以看得懂的字符,然后系统去查UTF-8的码表,发现有些字节码表没有显示出来所以就是乱码,如果你的文件是以UTF-8的格式写进去的,那就不会乱码了