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

img

img

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("读取过程存在异常");
        }