seekreadercharsequence.java

来自「这是个爬虫和lucece相结合最好了」· Java 代码 · 共 57 行

JAVA
57
字号
package org.archive.io;import java.io.IOException;public class SeekReaderCharSequence implements CharSequence {        final private SeekReader reader;    final private int size;        public SeekReaderCharSequence(SeekReader reader, int size) {        this.reader = reader;        this.size = size;    }            public int length() {        return size;    }            public char charAt(int index) {        if ((index < 0) || (index >= length())) {            throw new IndexOutOfBoundsException(Integer.toString(index));        }        try {            reader.position(index);            int r = reader.read();            if (r < 0) {                throw new IllegalStateException("EOF");            }            return (char)reader.read();        } catch (IOException e) {            throw new RuntimeException(e);        }    }            public CharSequence subSequence(int start, int end) {        return new CharSubSequence(this, start, end);    }        public String toString() {        StringBuilder sb = new StringBuilder();        try {            reader.position(0);            for (int ch = reader.read(); ch >= 0; ch = reader.read()) {                sb.append((char)ch);            }            return sb.toString();        } catch (IOException e) {            throw new IllegalStateException(e);        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?