java io流 如何判断结尾,-1和readline的null是怎么得到的
在读取文件和在流里读取数据时怎么知道已经读完了。
我用server接收http请求,要判断结尾
判断流的read是否为-1,类似如下
byte[] buffer = new byte[4096];
int n = 0;
while (-1 != (n = input.read(buffer))) {
output.write(buffer, 0, n);
}
while((s = reader.readLine()) != null){
sb.append(s);
sb.append(crlf);
}
in.close();
reader.close();
文件结束的标志是EOF,对应值是-1
这是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()方法返回值
我也有这个问题。。楼主解决了吗。求分享