字符流
Posted 石头-Stone
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符流相关的知识,希望对你有一定的参考价值。
字符流读取字节流,然后进行解析。
字节流,字节流:文件中都是字节流,只是编码方式不一样
Reader 类是 Java 的 I/O 中读字符的父类,而 InputStream 类是读字节的父类,InputStreamReader 类就是关联字节到字符的桥梁,它负责在 I/O 过程中处理读取字节到字符的转换,而具体字节到字符的解码实现它由 StreamDecoder 去实现,在 StreamDecoder 解码过程中必须由用户指定 Charset 编码格式。值得注意的是如果你没有指定 Charset,将使用本地环境中的默认字符集,例如在中文环境中将使用 GBK 编码。
总结:Java读取数据流的时候,一定要指定数据流的编码方式,否则将使用本地环境中的默认字符集
- List<String> lines=new ArrayList<String>();
- BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(fileName),"UTF-8"));
- String line = null;
- while ((line = br.readLine()) != null) {
- lines.add(line);
- }
- br.close();
以上是关于字符流的主要内容,如果未能解决你的问题,请参考以下文章
IO流25 - 字符流 - 字符输出流的缓冲流以及字符输入流的缓冲流BufferedWriter和BufferedReader