public static Vector<String> read_page(String filename, Vector<FileIndex> fileIndex) {  
        
    	int number=0;
    	Vector<String> pages = new Vector<String>();
        try {  
             
	            BufferedReader gzipReader = new BufferedReader(new InputStreamReader(new GZIPInputStream(new FileInputStream(filename))));
	              
	            char[] buffer;
	            String a = new String();
	            buffer = new char[fileIndex.elementAt(number).doc_length];
	            while ((gzipReader.read(buffer, 0, fileIndex.elementAt(number).doc_length)) != -1)
	            {
                    if(!fileIndex.elementAt(number).status.equals("ok"))//handle the exception of error of Index
					{
						number ++;
						continue;
					}
	            	a = String.valueOf(buffer);
	            	pages.add(a);
	            	number ++;
	            	if(number==fileIndex.size())
	            	{
	            		break;
	            	}			            	
	            	buffer = new char[fileIndex.elementAt(number).doc_length];			            	
	            }
	                
                gzipReader.close();
                
	        } catch (Exception ex){  
	            System.err.println(ex.toString());  
	           
	        }  
    	return pages;
    }