Добавить изображения из папки в arraylist, используя поток - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь прочитать изображения из папки, в которой путь к папке передается в качестве аргумента, я пытаюсь использовать потоковый API, чтобы добавить их в массив, но я не знаю, какую переменную мне следует использоватьвнутри forEach (), чтобы добавить к моему массиву

    public void downsampling(String inputPath, String outputPath) {
    ArrayList<BufferedImage> inputSequence = new ArrayList<BufferedImage>();

    try (Stream<Path> paths = Files.walk(Paths.get(inputPath))) {
        paths
                .forEach(inputSequence.add(XXX));
    } catch (IOException e) {
        e.printStackTrace();
    }
}

чем заменить XXX?большое спасибо

1 Ответ

0 голосов
/ 17 октября 2018

Код неполный, так как я еще должен выполнить понижающую дискретизацию, и я только что прошел ввод, когда я прокомментировал «работал», я имел в виду, что комментарий @ Eran помог мне с правильной ссылкой на переменную для потоковых файлов, вотвходной код, который работает до сих пор, не нужно уже понижать меня ...

    public void downsampling(String inputPath, String outputPath) {
    ArrayList<BufferedImage> inputSequence = new ArrayList<BufferedImage>();

    try (Stream<Path> paths = Files.walk(Paths.get(inputPath))) {
        paths
                .forEach(x -> {
                    try {
                        inputSequence.add(ImageIO.read((InputStream) x));
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                });
    } catch (IOException e) {
        e.printStackTrace();
    }
}
...