Java BeanIo can';不读特殊字符
我有一个带有ANSI(windows-1252)编码的.txt文件,我可以在windows上读取,但在unix上无法读取 以下是xml映射文件: 结果: 线路:法国 行:圣保罗应该是(圣保罗)windows OK,但unix是KO 线路:美国 线路:中国 有什么想法吗 仅供参考:我已经尝试将字符集设置为UTF-8Java端Java BeanIo can';不读特殊字符,java,unix,encoding,character-encoding,bean-io,Java,Unix,Encoding,Character Encoding,Bean Io,我有一个带有ANSI(windows-1252)编码的.txt文件,我可以在windows上读取,但在unix上无法读取 以下是xml映射文件: 结果: 线路:法国 行:圣保罗应该是(圣保罗)windows OK,但unix是KO 线路:美国 线路:中国 有什么想法吗 仅供参考:我已经尝试将字符集设置为UTF-8Java端 new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream("clearings.t
new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream("clearings.txt"), Charset.forName("UTF-8"));
有点晚了,但是。。。如果您有ANSI文件a.k.a.
ISO-8859-1
,则必须将InputStreamReader
字符集设置为ISO-8859-1,而不是UTF-8
Reader Reader=new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream(“clearings.txt”)、StandardCharsets.ISO_8859_1);
有点晚了,但是。。。如果您有ANSI文件a.k.a.ISO-8859-1
,则必须将InputStreamReader
字符集设置为ISO-8859-1,而不是UTF-8
Reader Reader=new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream(“clearings.txt”)、StandardCharsets.ISO_8859_1);
StreamFactory factory = StreamFactory.newInstance();
InputStream in = this.getClass().getClassLoader()
.getResourceAsStream("mapping.xml");
Reader reader = new InputStreamReader(this.getClass().getClassLoader()
.getResourceAsStream("countries.txt"));
factory.load(in);
BeanReader beanReader = factory.createReader("empData", reader);
Gson gson = new Gson();
/*Object bean =new Object();*/
Object record = null;
while ((record = beanReader.read()) != null) {
System.out.println(beanReader.getRecordName() + ": "
+((MyClass)record).getCountry());
}
new InputStreamReader(this.getClass().getClassLoader().getResourceAsStream("clearings.txt"), Charset.forName("UTF-8"));