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 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services