yuan生的小小白 2022-01-20 14:42 采纳率: 100%
浏览 31
已结题

为什么用集合存储FileReader类中read()方法返回的数值输出后内容不一致?

刚刚学到IO流的知识,了解到FileReader类中的read()方法可以读取文件,正常代码是用int类型去接受read()方法返回的数值,然后通过强制类型转换输出,那既然这样我直接使用字符集合来保存,并且输出为什么不行呢,我尝试了以后发现用这种方法输出的字符跟文件不一样,想了半天也不明白哪里出错了
正常方法读取外部文件并输出:

Demo.txt文件中的内容为:我是一个文本文档,用于测试数据的

import java.io.*;
public class Demo{
      FileReader fileReader = new FileReader("D:\\myfwy\\review\\src\\pers\\iostream\\demo.txt") 
      int data = fileReader.read();
      while(data != -1){
           System.out.print((char) data);
           data = fileReader.read();
  }
}
运行结果为:我是一个文本文档,用于测试数据的
我想的方法:
import java.io.*;
public class Demo{
      FileReader fileReader = new FlieReader("D:\\myfwy\\review\\src\\pers\\iostream\\demo.txt");
      ArrayList<Character> readList = new ArrayList<Character> ();
      readList.add((char)fileReader.read());
      for(i = 0;fileReader.read() != -1;i++){
            System.out.print(readList.get(i));
            readList.add((char)fileReader.read());
  }
}
运行结果为:我一文文,于试据
为什么这样输出的内容跟文件原本的内容不一致,希望得到解决
  • 写回答

3条回答 默认 最新

  • qq_25376897 2022-01-20 14:59
    关注

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月20日
  • 已采纳回答 1月20日
  • 修改了问题 1月20日
  • 创建了问题 1月20日

悬赏问题

  • ¥15 请问有用MZmine处理 “Waters SYNAPT G2-Si QTOF质谱仪在MSE模式下采集的非靶向数据” 的分析教程吗
  • ¥50 opencv4nodejs 如何安装
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥15 复杂网络,变滞后传递熵,FDA
  • ¥20 csv格式数据集预处理及模型选择