• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java PosixFileOperations类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.indeed.util.core.shell.PosixFileOperations的典型用法代码示例。如果您正苦于以下问题:Java PosixFileOperations类的具体用法?Java PosixFileOperations怎么用?Java PosixFileOperations使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



PosixFileOperations类属于com.indeed.util.core.shell包,在下文中一共展示了PosixFileOperations类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: clearTempDir

import com.indeed.util.core.shell.PosixFileOperations; //导入依赖的package包/类
private void clearTempDir(String directory) throws IOException {
    File tmpDir = new File(directory);

    if (!tmpDir.exists()) {
        throw new IOException(directory + " does not exist.");
    }
    if (!tmpDir.isDirectory()) {
        throw new IOException(directory + " is not a directory.");
    }

    for (File f : tmpDir.listFiles()) {
        if (f.isDirectory() && f.getName().endsWith(".optimization_log")) {
            /* an optimized index */
            PosixFileOperations.rmrf(f);
        }
        if (!f.isDirectory() && f.getName().startsWith(".tmp")) {
            /* an optimization log */
            f.delete();
        }
    }

}
 
开发者ID:indeedeng,项目名称:imhotep,代码行数:23,代码来源:CachingLocalImhotepServiceCore.java


示例2: clearTempDir

import com.indeed.util.core.shell.PosixFileOperations; //导入依赖的package包/类
private void clearTempDir(String directory) throws IOException {
    final File tmpDir = new File(directory);

    if (!tmpDir.exists()) {
        throw new IOException(directory + " does not exist.");
    }
    if (!tmpDir.isDirectory()) {
        throw new IOException(directory + " is not a directory.");
    }

    for (File f : tmpDir.listFiles()) {
        if (f.isDirectory() && f.getName().endsWith(".optimization_log")) {
            /* an optimized index */
            PosixFileOperations.rmrf(f);
        }
        if (!f.isDirectory() && f.getName().startsWith(".tmp")) {
            /* an optimization log */
            f.delete();
        }
    }

}
 
开发者ID:indeedeng,项目名称:imhotep,代码行数:23,代码来源:LocalImhotepServiceCore.java


示例3: checkpoint

import com.indeed.util.core.shell.PosixFileOperations; //导入依赖的package包/类
public void checkpoint(File checkpointDir) throws IOException {
    final SharedReference<GenerationState<K, V>> localState = generationState.getCopy();
    try {
        if (localState == null) {
            throw new IOException("store is closed");
        }
        checkpointDir.mkdirs();
        localState.get().volatileGeneration.checkpoint(checkpointDir);
        for (Generation<K, V> generation : localState.get().stableGenerations) {
            generation.checkpoint(checkpointDir);
        }
        PosixFileOperations.cplr(new File(localState.get().path, "state"), checkpointDir);
    } finally {
        Closeables2.closeQuietly(localState, log);
    }
}
 
开发者ID:indeedeng,项目名称:lsmtree,代码行数:17,代码来源:Store.java


示例4: startNewLog

import com.indeed.util.core.shell.PosixFileOperations; //导入依赖的package包/类
private GenerationState<K, V> startNewLog(final GenerationState<K, V> localState) throws IOException {
    //create new volatile generation and checkpoint
    final File newLog = getNextLogFile();
    final VolatileGeneration<K,V> nextVolatileGeneration = new VolatileGeneration<K, V>(newLog, keySerializer, valueSerializer, comparator);
    final List<SharedReference<? extends Generation<K,V>>> nextStableGenerations = Lists.newArrayList();
    nextStableGenerations.add(localState.volatileGenerationReference.copy());
    for (SharedReference<? extends Generation<K, V>> reference : localState.stableGenerationReferences) {
        nextStableGenerations.add(reference.copy());
    }
    final File checkpointDir = getNextCheckpointDir();
    checkpointDir.mkdirs();
    final GenerationState<K,V> nextState = new GenerationState<K, V>(nextStableGenerations, SharedReference.create(nextVolatileGeneration), checkpointDir);
    checkpointGenerationState(nextState, checkpointDir);
    //there will be a brief period of time where there is no writable generation, put and delete will block during this time
    localState.volatileGeneration.closeWriter();
    PosixFileOperations.atomicLink(checkpointDir, new File(root, "latest"));
    final SharedReference<GenerationState<K, V>> oldState = Preconditions.checkNotNull(generationState.getAndSet(nextState));
    oldState.get().delete();
    Closeables2.closeQuietly(oldState, log);
    return nextState;
}
 
开发者ID:indeedeng,项目名称:lsmtree,代码行数:22,代码来源:Store.java


示例5: checkpointGenerationState

import com.indeed.util.core.shell.PosixFileOperations; //导入依赖的package包/类
private void checkpointGenerationState(GenerationState<K,V> state, File checkpointDir) throws IOException {
    final Map<String, Object> map = new HashMap<String, Object>();
    final List<String> stableGenerationNames = new ArrayList<String>();
    for (Generation<K,V> generation : state.stableGenerations) {
        final File generationPath = generation.getPath();
        final String generationName = generationPath.getName();
        stableGenerationNames.add(generationName);
        PosixFileOperations.link(generationPath, new File(checkpointDir, generationName));
    }
    map.put("stableGenerations", stableGenerationNames);
    final File volatileGenerationPath = state.volatileGeneration.getPath();
    final String volatileGenerationName = volatileGenerationPath.getName();
    map.put("volatileGeneration", volatileGenerationName);
    PosixFileOperations.link(volatileGenerationPath, new File(checkpointDir, volatileGenerationName));
    final Yaml yaml = new Yaml();
    final String generationStateString = yaml.dump(map);
    RandomAccessFile raf = null;
    FileChannel channel = null;
    try {
        raf = new RandomAccessFile(new File(checkpointDir, "state"), "rw");
        channel = raf.getChannel();
        final byte[] bytes = generationStateString.getBytes(Charsets.UTF_8);
        final ByteBuffer buffer = ByteBuffer.wrap(bytes);
        while (buffer.remaining() > 0) {
            channel.write(buffer);
        }
        channel.force(true);
    } finally {
        Closeables2.closeQuietly(channel, log);
        Closeables2.closeQuietly(raf, log);
    }
}
 
开发者ID:indeedeng,项目名称:lsmtree,代码行数:33,代码来源:Store.java


示例6: finishCompaction

import com.indeed.util.core.shell.PosixFileOperations; //导入依赖的package包/类
private void finishCompaction(final Set<String> compactedGenerations, final List<Generation<K, V>> toCompactGenerations, final Generation<K, V> stableGeneration) throws IOException {
    final List<SharedReference<? extends Generation<K,V>>> nextStableGenerations = Lists.newArrayList();
    final SharedReference<GenerationState<K, V>> stateReference = Preconditions.checkNotNull(generationState.getCopy());
    final GenerationState<K,V> state = stateReference.get();
    try {
        boolean compactionAdded = false;
        for (SharedReference<? extends Generation<K, V>> reference : state.stableGenerationReferences) {
            final String name = reference.get().getPath().getName();
            if (!compactedGenerations.contains(name)) {
                nextStableGenerations.add(reference.copy());
            } else {
                if (!compactionAdded) {
                    nextStableGenerations.add(SharedReference.create(stableGeneration));
                    compactionAdded = true;
                }
                currentlyCompacting.remove(name);
            }
        }
        final File checkpointDir = getNextCheckpointDir();
        checkpointDir.mkdirs();
        final GenerationState<K,V> nextState = new GenerationState<K, V>(nextStableGenerations, state.volatileGenerationReference.copy(), checkpointDir);
        checkpointGenerationState(nextState, checkpointDir);
        PosixFileOperations.atomicLink(checkpointDir, new File(root, "latest"));
        final SharedReference<GenerationState<K, V>> oldState = Preconditions.checkNotNull(generationState.getAndSet(nextState));
        oldState.get().delete();
        Closeables2.closeQuietly(oldState, log);
        for (Generation<K, V> generation : toCompactGenerations) {
            final long sizeInBytes = generation.sizeInBytes();
            generation.delete();
            totalGenerationSpace.addAndGet(-sizeInBytes);
        }
    } finally {
        Closeables2.closeQuietly(stateReference, log);
    }
}
 
开发者ID:indeedeng,项目名称:lsmtree,代码行数:36,代码来源:Store.java


示例7: tearDown

import com.indeed.util.core.shell.PosixFileOperations; //导入依赖的package包/类
@After
public void tearDown() throws Exception {
    PosixFileOperations.rmrf(tmpDir);
}
 
开发者ID:indeedeng,项目名称:imhotep,代码行数:5,代码来源:TestMemoryFlamdex.java


示例8: checkpoint

import com.indeed.util.core.shell.PosixFileOperations; //导入依赖的package包/类
@Override
public void checkpoint(File checkpointPath) throws IOException {
    PosixFileOperations.cplr(indexFile, checkpointPath.toPath());
}
 
开发者ID:indeedeng,项目名称:lsmtree,代码行数:5,代码来源:ImmutableBTreeIndex.java


示例9: delete

import com.indeed.util.core.shell.PosixFileOperations; //导入依赖的package包/类
@Override
public void delete() throws IOException {
    log.info("deleting " + getPath());
    PosixFileOperations.rmrf(getPath());
}
 
开发者ID:indeedeng,项目名称:lsmtree,代码行数:6,代码来源:StableGeneration.java


示例10: checkpoint

import com.indeed.util.core.shell.PosixFileOperations; //导入依赖的package包/类
@Override
public void checkpoint(final File checkpointPath) throws IOException {
    PosixFileOperations.cplr(file, checkpointPath);
}
 
开发者ID:indeedeng,项目名称:lsmtree,代码行数:5,代码来源:StableGeneration.java


示例11: delete

import com.indeed.util.core.shell.PosixFileOperations; //导入依赖的package包/类
public void delete() throws IOException {
    log.info("deleting "+path);
    PosixFileOperations.rmrf(path);
}
 
开发者ID:indeedeng,项目名称:lsmtree,代码行数:5,代码来源:Store.java



注:本文中的com.indeed.util.core.shell.PosixFileOperations类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java ComponentCompiler类代码示例发布时间:2022-05-16
下一篇:
Java SimpleSelector类代码示例发布时间:2022-05-16
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap