首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

close()流做了什么事,该怎么处理

2012-02-02 
close()流做了什么事close()是为了释放流占用的资源,但自己试了下,把一个流close后还是可以read(),,那么到

close()流做了什么事
close()是为了释放流占用的资源,但自己试了下,把一个流close后还是可以read(),,那么到底close()流做了什么事??释放的又是什么东西呢??

[解决办法]
你用缓冲的流试试

[解决办法]
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就不一样了
[解决办法]
应该是半关闭的原因,close()相当于在后面加了一个文件结束符,依旧可以读
一般关闭网络流的时候是半关闭

热点排行