导读 大家好,小苗来为大家解答以上问题很多人还不知道,。file input stream读数据,fileinputstream现在让我们一起来看看吧!在Java中使用Fi

大家好,小苗来为大家解答以上问题很多人还不知道,。file input stream读数据,fileinputstream现在让我们一起来看看吧!

在Java中使用FileInputStream读取txt等文档时,中文会产生乱码。这是因为一个中文对应存储的两个字节(负数),也就是说读取对应中文的字节数应该是偶数;英语对应一个字节。FileInputStream每读取一个数组长度的字节,读取的中文字节数可能是奇数,即只读一半中文字节,导致乱码。

解决方案是:

尝试{

fis=new FileInputStream(文件);

InputStreamReader reader=new InputStreamReader(fis,' GBK ');//最后一个“GBK”取决于文件属性。如果不行,就改成‘UTF-8’试试缓冲阅读器br=新缓冲阅读器(reader);弦线;while ((line=br.readLine())!=null){ system . out . println(line);} br . close();reader . close();} catch(Exception e){ e . printstacktrace();}最后{ if (fis!=null){ try { fis . close();} catch(io exception e){ e . printstacktrace();} } }

这就是我们所知道的在fileinputstream!解决中文乱码问题的全部情况

本文到此结束,希望对大家有所帮助。