u010945068
Hot_Doge
采纳率33.3%
2015-07-02 03:03 阅读 4.6k

java io流 如何判断结尾,-1和readline的null是怎么得到的

java io流 如何判断结尾,-1和readline的null是怎么得到的
在读取文件和在流里读取数据时怎么知道已经读完了。
我用server接收http请求,要判断结尾

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • bdmh bdmh 2015-07-02 03:06

    判断流的read是否为-1,类似如下

                byte[] buffer = new byte[4096];
                int n = 0;
                while (-1 != (n = input.read(buffer))) {
                    output.write(buffer, 0, n);
                }
    
    点赞 评论 复制链接分享
  • strutce 丵鹰 2015-07-02 03:20
        while((s = reader.readLine()) != null){
            sb.append(s);
            sb.append(crlf);
        }
    
        in.close();
        reader.close();
    
    点赞 评论 复制链接分享
  • u014307117 JNSimba 2015-07-02 04:15

    文件结束的标志是EOF,对应值是-1

    点赞 评论 复制链接分享
  • skate6 new-non 2015-07-03 08:52

    这是jdk封装的读取文件方法的返回值,代表不同的状态

       InputStream ins = new FileInputStream("file.text");  
       OutputStream out=new FileInputStream("filec.text"); 
                        byte[] size = new byte[1024];   
         int hasRead = 0;   
        while((hasRead = ins.read(bbuf))>0)  
       {  
          out.witer(bbuf,0,hasRead));  
                out.flush();
         }  
       ins.close();  
      out.close();  
    

    BufferedReader 的brReader.readLine() 在while循环读取的时候 ,返回值不为空就继续循环读取文件,为空就说明读取完毕,null 就是readLine()方法返回值

    点赞 评论 复制链接分享
  • qq_19777101 qq_19777101 2017-03-14 13:02

    我也有这个问题。。楼主解决了吗。求分享

    点赞 评论 复制链接分享

相关推荐