下面列出了怎么用org.apache.hadoop.io.file.tfile.TFile.Reader.Scanner.Entry的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public void readFully(TreeMap<Slice, Slice> data) throws IOException
{
scanner.rewind();
for (; !scanner.atEnd(); scanner.advance()) {
Entry en = scanner.entry();
int klen = en.getKeyLength();
int vlen = en.getValueLength();
byte[] key = new byte[klen];
byte[] value = new byte[vlen];
en.getKey(key);
en.getValue(value);
data.put(new Slice(key, 0, key.length), new Slice(value, 0, value.length));
}
}
@Override
public boolean peek(Slice key, Slice value) throws IOException
{
if (scanner.atEnd()) {
return false;
}
Entry en = scanner.entry();
byte[] rkey = new byte[en.getKeyLength()];
byte[] rval = new byte[en.getValueLength()];
en.getKey(rkey);
en.getValue(rval);
key.buffer = rkey;
key.offset = 0;
key.length = en.getKeyLength();
value.buffer = rval;
value.offset = 0;
value.length = en.getValueLength();
return true;
}
@Override
public boolean next() throws IOException {
if (scanner.atEnd()) return false;
Entry entry = scanner.entry();
keyLength = entry.getKeyLength();
checkKeyBuffer(keyLength);
entry.getKey(keyBuffer);
valueLength = entry.getValueLength();
checkValueBuffer(valueLength);
entry.getValue(valueBuffer);
scanner.advance();
return true;
}
@Override
public boolean next() throws IOException {
if (scanner.atEnd()) return false;
Entry entry = scanner.entry();
keyLength = entry.getKeyLength();
checkKeyBuffer(keyLength);
entry.getKey(keyBuffer);
valueLength = entry.getValueLength();
checkValueBuffer(valueLength);
entry.getValue(valueBuffer);
scanner.advance();
return true;
}
public boolean next() throws IOException {
if (scanner.atEnd()) return false;
Entry entry = scanner.entry();
keyLength = entry.getKeyLength();
checkKeyBuffer(keyLength);
entry.getKey(keyBuffer);
valueLength = entry.getValueLength();
checkValueBuffer(valueLength);
entry.getValue(valueBuffer);
scanner.advance();
return true;
}
public boolean next() throws IOException {
if (scanner.atEnd()) return false;
Entry entry = scanner.entry();
keyLength = entry.getKeyLength();
checkKeyBuffer(keyLength);
entry.getKey(keyBuffer);
valueLength = entry.getValueLength();
checkValueBuffer(valueLength);
entry.getValue(valueBuffer);
scanner.advance();
return true;
}