apache camel file2在java流读取文件

时间:2018-01-23 23:18:08

标签: java java-8 apache-camel java-stream

我有一个camel file2 dropbox侦听器来检测文件,然后读取同一目录中的其他文件。检测到文件时,Apache Camel将添加.camelLock标记,并在几秒钟内将其删除。 现在的问题是,在非常偶然的情况下,我的代码会检测到.camelLock文件(因为它还没有被camel删除),并且在完成以下方法之前,camel会删除该文件。所以我的方法返回java.io.UncheckedIOException: java.nio.file.NoSuchFileException

以下是camel file2的文档:http://camel.apache.org/file2.html

private List<String> getFileNames(String fullPath) throws IOException {
        try (Stream<Path> pathStream = Files.walk(Paths.get(fullPath))) {

            return pathStream.filter(Files::isRegularFile)
                    .filter(f -> !f.toString().toLowerCase()
                            .endsWith("camellock"))
                    .map(Path::toString)
                    .map(f -> f.substring(f.lastIndexOf(File.separator) + 1, f.length()))
                    .collect(Collectors.toList());
        }

}

有什么想法吗?

0 个答案:

没有答案