как я могу проверить, существуют ли файлы для данного списка путей?

У меня есть список из 50 000 путей, и мне нужно проверить, существует ли файл для каждого из этих путей. Прямо сейчас я проверяю каждый путь независимо друг от друга следующим образом:

public static List<String> filesExist(String baseDirectory, Iterable<String> paths) throws FileNotFoundException{
        File directory = new File(baseDirectory);
        if(!directory.exists()){
            throw new FileNotFoundException("No Directory found: " + baseDirectory );
        }else{
            if(!directory.isDirectory())
                throw new FileNotFoundException(baseDirectory + " is not a directory!");
        }

        List<String> filesNotFound = new ArrayList<String>();

        for (String path : paths) {
            if(!new File(baseDirectory + path).isFile())
                filesNotFound.add(path);
        }
        return filesNotFound;
    }

Есть ли способ улучшить его, чтобы я не создавал 50 000 файловых объектов? Я также использую гуаву. Есть ли какая-нибудь утилита, которая может помочь мне с методом bulk exists()?

5
задан brainydexter 15 June 2012 в 07:59
поделиться