当我们在BufferedReader没有明确提供编码的情况下创建新对象时,Java 默认使用什么编码/字符集?例如:try (final BufferedReader reader = new BufferedReader(new FileReader("my_file.txt"))) { reader.readLine(); // What encoding is used to read the file?}
2 回答
长风秋雁
TA贡献1757条经验 获得超7个赞
BufferedReader
不做任何解码。它是另一个Reader
......的包装器,可能会或可能不会进行解码。
FileReader
使用 JVM 的默认字符编码进行解码,如返回 Charset.defaultCharset()
javadoc 指出:
读取字符文件的便利类。此类的构造函数假定默认字符编码和默认字节缓冲区大小是合适的。要自己指定这些值,请
InputStreamReader
在 a 上构造一个FileInputStream
。
添加回答
举报
0/150
提交
取消