关于网友提出的“ close流做了什么事”问题疑问,本网通过在网上对“ close流做了什么事”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: close流做了什么事
描述: close()是为了释放流占用的资源,但自己试了下,把一个流close后还是可以read(),,那么到底close()流做了什么事??释放的又是什么东西呢??
解决方案1: 应该是半关闭的原因,close()相当于在后面加了一个文件结束符,依旧可以读
一般关闭网络流的时候是半关闭
解决方案2: import java.io.*;
import java.util.*;
class BufferedStreamTest
{
public static void main(String[] args)
{
try{
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("FileTest1.java"));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("aa.txt"));
byte[] buffer = new byte[1];
while(bis.read(buffer) != -1)
bos.write(buffer);
//bis.close();
//bos.close();
Scanner sc = new Scanner(System.in);
sc.next();
}catch(IOException e){
e.printStackTrace();
}
}
}
在你在控制台输入之前aa.txt的内容为空
如何有close就不一样了
解决方案3: 你用缓冲的流试试
以上介绍了“ close流做了什么事”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/1858585.html