我有一个文本内容为:
EXTRACT|2010-05-25|5|7116.00
DETAIL|9|2010-05-25|1|110201|HERVIER|PATRICE (艾文)|
DETAIL|9|2010-05-25|2|110201|HERVIER|PATRICE (艾文)|
文本编码方式为UTF-8,当我未修改二三行的内容时读取的“EXTRACT”打印是的正确的,但当我修改二三行的内容后再读取的时候“EXTRACT”打印为“?EXTRACT”,而别的都显示正常,我用别的编码方式读取还是同样效果,请问为什么修改后打印的结果不一样?
这是我的读取方法:
InputStreamReader read = new InputStreamReader(new FileInputStream(file),"UTF-8");
BufferedReader br = new BufferedReader(read);
EXTRACT|2010-05-25|5|7116.00
DETAIL|9|2010-05-25|1|110201|HERVIER|PATRICE (艾文)|
DETAIL|9|2010-05-25|2|110201|HERVIER|PATRICE (艾文)|
文本编码方式为UTF-8,当我未修改二三行的内容时读取的“EXTRACT”打印是的正确的,但当我修改二三行的内容后再读取的时候“EXTRACT”打印为“?EXTRACT”,而别的都显示正常,我用别的编码方式读取还是同样效果,请问为什么修改后打印的结果不一样?
这是我的读取方法:
InputStreamReader read = new InputStreamReader(new FileInputStream(file),"UTF-8");
BufferedReader br = new BufferedReader(read);
public static void readFile(){
String fileName = "e://heloworld.txt";
StringBuffer buffer = new StringBuffer();
InputStreamReader read = null;
BufferedReader reader = null;
try {
read = new InputStreamReader(new FileInputStream(fileName));
reader = new BufferedReader (read);
while(true){
String str = (String)reader.readLine();
if(str == null){
break;
}
System.out.println(str);
buffer.append(str);
buffer.append(",");
}
System.out.println(buffer.toString());
} catch (Exception e) {
e.printStackTrace();
}
finally{
try {
read.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}