InputStreamReader reader = new InputStreamReader("E:\aa.txt");
LineNumberReader  Ini_V_FileRead = new LineNumberReader(reader);
while((str_Ini_V_FileRead = Ini_V_FileRead.readLine()) != null){
System.out.println(str_Ini_V_FileRead);
}
我用的这个,很好用,没有出现乱码?
有空请到下的地址看一下,谢谢!
http://expert.csdn.net/Expert/topic/1123/1123075.xml?temp=6.823367E-02

解决方案 »

  1.   

    我要读出文件内容把值赋给properties对象
    如果用InputStreamReader("E:\aa.txt","GBK")之类的方法是不会有乱码,但是太麻烦,我想直接利用properties类的load()方法读取而不出现乱码,应该怎么做?
      

  2.   

    Properties statProp = new Properties();
    String statFileName = svrRoot + "conf/statname.properties";
    FileInputStream statIn = new FileInputStream(statFileName);
    statProp.load(statIn);
    String statDescr = statProp.getProperty(statname);读出的statDescr 是乱码
      

  3.   

    因为Properties的load方法是using the ISO 8859-1 character encoding.
    所以如果读的是中文资段,你就再转码一下:
    String statDescr =new String(statProp.getProperty(statname).getBytes("ISO8859-1"),"GBK");
    同时要捕获转码异常。