java 读文件乱码,java读取文件名乱码
最近遇到一个问题。Java读取文本文件(如csv文件、txt文件等。),遇到中文就变成乱码了。读取的代码如下:
ListString lines=new ArrayList string();
buffered reader br=new buffered reader(新文件阅读器(文件名));
String line=null
while ((line=br.readLine())!=null) {
lines . add(line);
}
br . close();相关视频教程推荐:java在线学习
原理:
Java的I/O类处理如下:
如何解决写爬虫IP受阻的问题?立即使用。
Reader类是Java I/O中读取字符的父类,InputStream类是读取字节的父类,InputStreamReader类是相关字节和字符之间的桥梁。负责I/O过程中读取字节到字符的转换,特定字节到字符的解码由StreamDecoder实现。在StreamDecoder的解码过程中,字符集编码格式必须由用户指定。
值得注意的是,如果不指定Charset,将使用本地环境中的默认字符集,例如,中文环境中将使用GBK编码。
总结:Java读取数据流的时候,一定要指定数据流的编码方式,否则将使用本地环境中的默认字符集。
经过以上分析,修改后的代码如下:
ListString lines=new ArrayList string();
buffered reader br=new buffered reader(new InputStreamReader(新文件输入流(文件名), UTF-8 ));
String line=null
while ((line=br.readLine())!=null) {
lines . add(line);
}
br . close();更多相关教程,请访问:java入门。以上是java中乱码文本文件的细节。更多信息请关注其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。