A向前奔跑 2021-08-07 15:24 采纳率: 66.7%
浏览 20
已结题

这个代码为什么没有把内容全部读取出来

img

img

  • 写回答

1条回答 默认 最新

  • 全栈极简 领域专家: 后端开发技术领域 2021-08-07 15:27
    关注

    fis.read()就是读取一个,你在while循环里已经调用过一次了,所以会间隔一个输出。 https://blog.csdn.net/ai_bao_zi/article/details/81097898 https://blog.csdn.net/ai_bao_zi/article/details/81097898

    
    //建立文件对象
            File file=new File("C:\\Users\\Administrator\\Desktop\\1.txt"); 
       
            try
            {
                //建立链接
                FileInputStream fileInputStream=new FileInputStream(file);
                
                int  n=0; 
                
                StringBuffer sBuffer=new StringBuffer();
     
                while (n!=-1)  //当n不等于-1,则代表未到末尾
                {
                    
                   n=fileInputStream.read();//读取文件的一个字节(8个二进制位),并将其由二进制转成十进制的整数返回
                  
                   char by=(char) n; //转成字符
                   
                   sBuffer.append(by);
     
                }
               System.out.println(sBuffer.toString());
       
            }
            catch (FileNotFoundException e)
            {
              
               System.out.println("文件不存在或者文件不可读或者文件是目录");
            }
            catch (IOException e)
            {
               System.out.println("读取过程存在异常");
            } 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 8月15日
  • 已采纳回答 8月7日
  • 创建了问题 8月7日