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()相当于在后面加了一个文件结束符,依旧可以读 
 一般关闭网络流的时候是半关闭