我有两个.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后 读我的行读我考过来的那个是乱码 这是为什么?
一个是我考别人的一个是我自己写的 我自己写的那个 我是先新建文本文档然后直接修改了后缀
用下面方法读
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后 读我的行读我考过来的那个是乱码 这是为什么?
考过来的不写utf-8 是乱码 默认应该是ISO-8859-1 编码吧
但是我考过来的那个配置文件就会出问题 需要用utf-8 不知道是不是原编码的问题 能不能有个判断
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编码