黑马程序员技术交流社区
标题:
读取utf-8编码文件的问题。
[打印本页]
作者:
Cfan_yang
时间:
2014-12-23 21:57
标题:
读取utf-8编码文件的问题。
import java.io.*;
public class DocReader {
public static void main(String args[]) throws IOException
{
BufferedReader bufr =
new BufferedReader(new InputStreamReader(new FileInputStream("D:\\abc.txt"),"utf-8"));
BufferedWriter bufw =
new BufferedWriter(new OutputStreamWriter(System.out));
String line;
while((line=bufr.readLine())!=null)
{
bufw.write(line);
bufw.newLine();
bufw.flush();
}
}
}
复制代码
d盘下的abc.txt为uft-8编码的文件。内容为 你好。
可是运行结果确是 ?你好。
求解。
作者:
kerner
时间:
2014-12-23 23:19
因为abc.txt为文本文件,它有固定的格式,不然的话应用软件怎么知道它是txt文件,而不是mp3 mp4文件,所以该文件除了本身含有内容数据外,还有固定的数据格式,txt文件开头是EF BB BF,所以这三个字节之后才会是你内容数据。故你读出的数据有乱码,也就是这三个字节捣的鬼。
作者:
wf111sxwf
时间:
2014-12-24 00:15
你读的时候 用的是UTF-8.写的时候 却是默认的GBK 那么 结果 就不对了。
作者:
小小志
时间:
2014-12-24 09:15
上楼说的正确 你读的时候用UTF-8解码,内存中数utf-8 的 ,写的时候为什么不utf-8 去加密呢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2