怎么在这个while执行前算出循环次数
public   static   void   crypt(InputStream   in,   OutputStream   out)throws   Exception 
 { 
 	byte[]   inBytes   =   new   byte[8]; 
 	int   inLength   =   0; 
 	boolean   more   =   true; 
 	while   (more)    
 	{ 
 		inLength   =   in.read(inBytes); 
 		if   (inLength   ==   8) 
 		{ 
 			//... 
 		}    
 		else 
 			more   =   false; 
 	} 
 }   
 如题,我要用它来更新一个ProgressBar
------解决方案--------------------没明白啥意思  我也是菜鸟~
------解决方案--------------------你是不是要读文件,感觉可以先取文件的大小,然后算读入的byte,通过读入的byte和文件大小的比例来更新ProgressBar 
------解决方案--------------------  int i= 0;//循环次数 
 while (more) { 
 i++; 
 System.out.println( "i= " + i); 
 inLength = in.read(inBytes); 
 if (inLength == 8) 
 { 
 //... 
 }  
 else 
 more = false; 
 }     
 } 
------解决方案--------------------//while执行前算出循环次数 
 int count = is.available()/8+1;   
 //.... 
------解决方案--------------------你的逻辑有问题
------解决方案--------------------没办法。 
 !=8的时候才退出 
 天知道要执行多少次.....
------解决方案--------------------。。 知道这个有啥用?
------解决方案--------------------你在干啥那?? 
 读文件不是这样读的....   
 byte[] buffer = new byte[1024]; 
 int readSize = 0;   
 while((readSize = is.read(buffer) != -1){ 
 ... 
 }   
 用Stream读文件的话,read返回当前读取到缓冲区的字符数 
 如果剩余字符大于缓冲区,返回的是缓冲区大小 
 如果剩余字符小于缓冲区,返回的是读取到的字符数 
 如果文件已经读完,返回 -1   
 直接判断是不是返回 -1 就行了