香辣鸡丁煲 2016-06-01 14:15 采纳率: 0%
浏览 1251
已采纳

还是关于fileoutputsream与fileinputstream问题

下面是字节流处理中文“中国”的读写文件,因为"中国"的编码为[-42, -48, -71, -6],即两个字节代表一个中文字符,字节流读是一个一个字节读所以会出现中文乱码,可是我想问的是输出流写不也是一个一个字节写
为什么输出的文件里面是完整的“中国”而不是乱码呢?
谢谢大家,谢谢
public static void main(String[] args) throws IOException {
String path = "c:\a.txt";
writFileTest();
readFileByInputStream(path);
}

private static void readFileByInputStream(String path) throws IOException {
    FileInputStream fis = new FileInputStream(path);

    int len = 0;
    while ((len = fis.read()) != -1) {
        System.out.print((char) len);
    }
}

private static void writFileTest() throws FileNotFoundException,
        IOException {
    // 创建文件对象
    File file = new File("c:\\a.txt");
    // 创建文件输出流
    FileOutputStream fos = new FileOutputStream(file);
    fos.write("中国".getBytes());
    fos.close();
}
  • 写回答

1条回答 默认 最新

  • 魄魑 2016-06-01 14:27
    关注

    乱码的问题,和读几个字节没有关系吧,应该是和用什么码表编码有关系。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 安装svn网络有问题怎么办
  • ¥15 Python爬取指定微博话题下的内容,保存为txt
  • ¥15 vue2登录调用后端接口如何实现
  • ¥65 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥15 latex怎么处理论文引理引用参考文献