我有两个.properties后缀的配置文件
一个是我考别人的一个是我自己写的 我自己写的那个 我是先新建文本文档然后直接修改了后缀
用下面方法读
InputStream inputStream=new BufferedInputStream(new FileInputStream("f://***.properties"));
properties.load(inputStream);
String str=new String(String.valueOf(properties.get("hibernateConfigPath")).getBytes("ISO-8859-1"),"UTF-8");为什么那里写UTF-8读我考过来的那个行 读我的是乱发 
改成GBK后 读我的行读我考过来的那个是乱码  这是为什么?

解决方案 »

  1.   

    这是因为你靠过来的编码是UTF-8格式的, 你自己写的那个编辑器默认是GBK格式的。所以你可以改一下你编辑器的编码格式成UTF-8, 这样就和你考过来的一样了
      

  2.   


    考过来的不写utf-8 是乱码    默认应该是ISO-8859-1  编码吧 
      

  3.   

    新建文本文档实际是用notepad.exe,windows下一般的编辑器默认都是 GBK
      

  4.   


    但是我考过来的那个配置文件就会出问题  需要用utf-8  不知道是不是原编码的问题  能不能有个判断 
      

  5.   

    class Encode {
    public static void main(String[] args) { java.io.File file = new java.io.File("含路径的文件名");
    try {
    java.io.InputStream stream = new java.io.FileInputStream(file);
    byte[] b = new byte[3];
    stream.read(b);
    stream.close();
    if (b[0] == -17 && b[1] == -69 && b[2] == -65)
    System.out.println(file.getName() + "编码为UTF-8");
    else
    System.out.println(file.getName() + "可能是GBK");
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }
    检测文件是否为UTF-8编码
      

  6.   

    if (b[0] == -17 && b[1] == -69 && b[2] == -65)求解释,这是个标记?
      

  7.   

    使用Notepad++就可以顯示編碼格式