当前位置: 首页>>代码示例>>Java>>正文


Java IndexOutput.getFilePointer方法代码示例

本文整理汇总了Java中org.apache.lucene.store.IndexOutput.getFilePointer方法的典型用法代码示例。如果您正苦于以下问题:Java IndexOutput.getFilePointer方法的具体用法?Java IndexOutput.getFilePointer怎么用?Java IndexOutput.getFilePointer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.lucene.store.IndexOutput的用法示例。


在下文中一共展示了IndexOutput.getFilePointer方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testLargeWrites

import org.apache.lucene.store.IndexOutput; //导入方法依赖的package包/类
/** This test that writes larger than the size of the buffer output
 * will correctly increment the file pointer.
 */
public void testLargeWrites() throws IOException {
    IndexOutput os = dir.createOutput("testBufferStart.txt", newIOContext(random()));

    byte[] largeBuf = new byte[2048];
    for (int i=0; i<largeBuf.length; i++) {
        largeBuf[i] = (byte) (Math.random() * 256);
    }

    long currentPos = os.getFilePointer();
    os.writeBytes(largeBuf, largeBuf.length);

    try {
        assertEquals(currentPos + largeBuf.length, os.getFilePointer());
    } finally {
        os.close();
    }

}
 
开发者ID:europeana,项目名称:search,代码行数:22,代码来源:TestCompoundFile.java

示例2: testSingleValue

import org.apache.lucene.store.IndexOutput; //导入方法依赖的package包/类
public void testSingleValue() throws Exception {
  for (int bitsPerValue = 1; bitsPerValue <= 64; ++bitsPerValue) {
    Directory dir = newDirectory();
    IndexOutput out = dir.createOutput("out", newIOContext(random()));
    PackedInts.Writer w = PackedInts.getWriter(out, 1, bitsPerValue, PackedInts.DEFAULT);
    long value = 17L & PackedInts.maxValue(bitsPerValue);
    w.add(value);
    w.finish();
    final long end = out.getFilePointer();
    out.close();

    IndexInput in = dir.openInput("out", newIOContext(random()));
    Reader reader = PackedInts.getReader(in);
    String msg = "Impl=" + w.getClass().getSimpleName() + ", bitsPerValue=" + bitsPerValue;
    assertEquals(msg, 1, reader.size());
    assertEquals(msg, value, reader.get(0));
    assertEquals(msg, end, in.getFilePointer());
    in.close();

    dir.close();
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:23,代码来源:TestPackedInts.java

示例3: testMonotonicBlockPackedReaderWriter

import org.apache.lucene.store.IndexOutput; //导入方法依赖的package包/类
public void testMonotonicBlockPackedReaderWriter() throws IOException {
  final int iters = atLeast(2);
  for (int iter = 0; iter < iters; ++iter) {
    final int blockSize = 1 << TestUtil.nextInt(random(), 6, 18);
    final int valueCount = random().nextInt(1 << 18);
    final long[] values = new long[valueCount];
    if (valueCount > 0) {
      values[0] = random().nextBoolean() ? random().nextInt(10) : random().nextInt(Integer.MAX_VALUE);
      int maxDelta = random().nextInt(64);
      for (int i = 1; i < valueCount; ++i) {
        if (random().nextDouble() < 0.1d) {
          maxDelta = random().nextInt(64);
        }
        values[i] = Math.max(0, values[i-1] + TestUtil.nextInt(random(), -16, maxDelta));
      }
    }

    final Directory dir = newDirectory();
    final IndexOutput out = dir.createOutput("out.bin", IOContext.DEFAULT);
    final MonotonicBlockPackedWriter writer = new MonotonicBlockPackedWriter(out, blockSize);
    for (int i = 0; i < valueCount; ++i) {
      assertEquals(i, writer.ord());
      writer.add(values[i]);
    }
    assertEquals(valueCount, writer.ord());
    writer.finish();
    assertEquals(valueCount, writer.ord());
    final long fp = out.getFilePointer();
    out.close();

    final IndexInput in = dir.openInput("out.bin", IOContext.DEFAULT);
    final MonotonicBlockPackedReader reader = MonotonicBlockPackedReader.of(in, PackedInts.VERSION_CURRENT, blockSize, valueCount, random().nextBoolean());
    assertEquals(fp, in.getFilePointer());
    for (int i = 0; i < valueCount; ++i) {
      assertEquals("i=" +i, values[i], reader.get(i));
    }
    in.close();
    dir.close();
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:41,代码来源:TestPackedInts.java


注:本文中的org.apache.lucene.store.IndexOutput.getFilePointer方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。