Java Code Examples for java.io.InputStreamReader#skip()

The following examples show how to use java.io.InputStreamReader#skip() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: HTMLJavadocParser.java    From netbeans with Apache License 2.0 5 votes vote down vote up
private static String getTextFromURLStream(URL url, int startOffset, int endOffset, String charset) throws IOException{
    
    if (url == null) return null;
    
    if (startOffset > endOffset) {
        throw new IOException();
    }
    InputStream fis = url.openStream();
    InputStreamReader fisreader = charset == null ? new InputStreamReader(fis) : new InputStreamReader(fis, charset);
    char buffer[];
    try {
        int len = endOffset - startOffset;
        int bytesAlreadyRead = 0;
        buffer = new char[len];
        int bytesToSkip = startOffset;
        long bytesSkipped = 0;
        do {
            bytesSkipped = fisreader.skip(bytesToSkip);
            bytesToSkip -= bytesSkipped;
        } while ((bytesToSkip > 0) && (bytesSkipped > 0));

        do {
            int count = fisreader.read(buffer, bytesAlreadyRead, len - bytesAlreadyRead);
            if (count < 0) {
                break;
            }
            bytesAlreadyRead += count;
        } while (bytesAlreadyRead < len);

    } finally {
        fisreader.close();
    }
    
    return new String(buffer);
}
 
Example 2
Source File: HTMLJavadocParser.java    From netbeans with Apache License 2.0 4 votes vote down vote up
private static String getTextFromURLStream(JavadocHelper.TextStream page, int[] offsets, String charset) throws IOException {
    if (page == null)
        return null;

    InputStream fis = null;
    InputStreamReader fisreader = null;
    try {
        fis = page.openStream();
        fisreader = charset == null ? new InputStreamReader(fis) : new InputStreamReader(fis, charset);
        
        StringBuilder sb = new StringBuilder();
        int offset = 0;

        for (int i = 0; i < offsets.length - 1; i+=2) {
            int startOffset = offsets[i];
            int endOffset = offsets[i + 1];
            if (startOffset < 0 || endOffset < 0)
                continue;
            if (startOffset > endOffset) {
                LOG.log(Level.WARNING,
                        "Was not able to correctly parse javadoc: {0}, startOffset={1}, endOffset={2}.",
                        new Object[] {page.getLocation(), startOffset, endOffset});
                return null;
            }

            int len = endOffset - startOffset;
            char buffer[] = new char[len];
            int bytesToSkip = startOffset - offset;
            long bytesSkipped = 0;
            do {
                bytesSkipped = fisreader.skip(bytesToSkip);
                bytesToSkip -= bytesSkipped;
            } while ((bytesToSkip > 0) && (bytesSkipped > 0));

            int bytesAlreadyRead = 0;
            do {
                int count = fisreader.read(buffer, bytesAlreadyRead, len - bytesAlreadyRead);
                if (count < 0){
                    break;
                }
                bytesAlreadyRead += count;
            } while (bytesAlreadyRead < len);
            sb.append(buffer);
            offset = endOffset;
        }
        return sb.toString();
    } finally {
        if (fisreader != null)
            fisreader.close();
    }
}
 
Example 3
Source File: TableFileIndex.java    From The-NOC-List with Apache License 2.0 3 votes vote down vote up
public String getIndexText(String key)
{
	long offset = getIndexPosition(key);
	
	if (offset < 0) return null;
	
	try {
		InputStreamReader input = new InputStreamReader(new FileInputStream(tableFname));
		
		BufferedReader buffer   = new BufferedReader(input);
		
		input.skip(offset);
		
		String line = buffer.readLine();

	    buffer.close();  // close connection to the data source
	    
	    //System.out.println(indexFname + " / " + tableFname);
	    //System.out.println("\t" + line);
	    
	    return line;
	}
	catch (IOException e) 
	{
		System.out.println("Exception while reading index file: " +  tableFname + "\n " + e.toString());
			 
		e.printStackTrace();
	}
	
	return null;
}