首页 > 解决方案 > java中filereader和filewriter的默认字符集是什么

问题描述

在这里,我试图从一个文件中读取内容并将其写入另一个文件。我的文件包含不同的语言单词和符号,像这样

Good morning
காலை வணக்கம்
早上好
˙©†®∑œß≈√ƒ∂
◊Ï˝◊´‰Ó˝◊ˇÁı؈ˇ¨˝Ï˛„ˇÁ¨

当我像这样使用具有指定字符集的文件读取器和写入器时,它可以正常工作并正确复制。

BufferedReader br = new BufferedReader(new FileReader("f1.txt",StandardCharsets.UTF_8));
BufferedWriter bw = new BufferedWriter(new FileWriter("f2.txt",StandardCharsets.UTF_8));

但是当我没有指定字符集时,它会将给定的文本复制到一些未知的符号,就像这样,

Good morning
காலை வணக�கம�
早上好
˙©†®∑œß≈√ƒ∂
â—ŠÃ?Ë?◊´‰ÓË?◊ˇÃ?ı؈ˇ¨Ë?Ã?˛„ˇÃ?¨

所以,这意味着当我没有指定字符集时,它必须使用默认字符集。那么,它使用的是什么字符集?filereader 和 filewriter 以及其他 io 类的默认字符编码是什么。

谁能解释一下。

提前致谢

标签: javacharacter-encodingfilereaderfilewritercharset

解决方案


推荐阅读