- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要的是最终得到类似的东西:
public class InterleavedBufferedReader extends BufferedReader {
...
}
Reader[3] readers = ...; // three readers
InterleavedBufferedReader ibr = new InterleavedBufferedReader(readers);
ibr.readLine(); // this returns the first line of Reader 1
ibr.readLine(); // this returns the first line of Reader 2
ibr.readLine(); // this returns the first line of Reader 3
ibr.readLine(); // this returns the second line of Reader 1
ibr.readLine(); // this returns the second line of Reader 2
ibr.readLine(); // hey, Reader 3 had no more lines, return the third line of Reader 1
public class InterleavedBufferedReader extends BufferedReader {
static private int current = 0;
private BufferedReader[] buffers;
public InterleavedBufferedReader(BufferedReader[] in) {
super(new StringReader("dummy"));
buffers = in;
}
public InterleavedBufferedReader(Reader[] in) {
super(new StringReader("dummy"));
buffers = new BufferedReader[in.length];
for (int i=0 ; i < in.length ; i++)
buffers[i] = new BufferedReader(in[i]);
}
@Override
public String readLine() throws IOException {
int start = current;
String line = null;
while ((line = buffers[current].readLine()) == null) {
current = (current+1) % buffers.length;
if (current == start)
return null;
}
current = (current+1) % buffers.length;
return line;
}
@Override
public void close() throws IOException {
for (int i=0; i < buffers.length; i++)
buffers[i].close();
}
}
readLine()
实际上有效! BufferedReader
.我被迫给它一个虚拟的 Reader 来管理,否则它甚至不会编译。同时,我覆盖了 readLine()
方法在 child 读者上调用它。但至少实现是不完整的,因为其他方法,如read()
,实际上是指我的虚拟读者。 最佳答案
Perhaps I shouldn't be extending
BufferedReader
. I'm forced to give it a dummy Reader to manage, or it won't even compile. [...] the implementation is at least incomplete, because other methods, as read(), will actually refer to my dummy reader
read()
(和
ready()
)也是如此。
readLine()
的实现必须保留,但至少您确定所有阅读方法都符合您希望实现的交错。虚拟阅读器无法避免,但您的实现可以。您甚至可能希望将 BufferedReader 的缓冲区设置为您可以使用的最低值 (1),以减少内存浪费。
mark()
重新实现它。和
reset()
,或者只是覆盖
markSupported()
所以它总是返回false。
关于Java - 一个 Reader 类,能够交错来自多个 Reader 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11915254/
我正在使用 Java 编写一个时钟程序,该程序能够“滴答作响”,但它存在问题。我认为它与 getter 和 setter 或 toString() 方法有关。 计数器类 package clock;
const Index = () => { // Ref Links const frefLinks = { 1: useRef(1), 2: useRef(2), 3: useRef(3
所以我读了here不能 pickle 装饰函数。确实: import multiprocessing as mp def deco(f): def wrapper(*args, **kwarg
我在go1.11.2 linux/amd64 版本。当包godog使用 go get github.com/DATA-DOG/godog/ 安装,godog 可执行文件在 $GOPATH/bin/中创
如何正确压缩字符串,以便 PHP 能够解压缩? 我试过这个: public static byte[] compress(String string) throws IOException {
我们这里的问题是表明 在测试中使用 Kleene 代数。 在 b 的值由 p 保留的情况下,我们有交换条件 bp = pb;两个程序之间的等价性简化为等式 在 b 的值不被 p 保留的情况下,我们有交
我有一个与我的网络相关的非常奇怪的问题,我在具有多个接口(interface)的 VirtualBox 上安装了 RDO Grizzly OpenStack。 虚拟盒子: eth0 - managem
我正在尝试使用 Passport.js授权谷歌OAuth2在 Node.js .我整个星期都在尝试让它工作,但不知道为什么它不工作,所以现在我求助于 stack 寻求一些潜在的帮助。我已经尝试了所有在
我是一名优秀的程序员,十分优秀!