Как читать каталог с использованием InputStream в разработке плагина eclipse - PullRequest
2 голосов
/ 08 июля 2011

Я разрабатываю плагин Eclipse, и мне нужно пройти по каталогу и всему его содержимому.Я нашел метод, который читает файл в плагине (bundleresource) как InputStream.

InputStream stream = Activator.class.getResourceAsStream("/dir1/dir2/file.ext");

, этот метод работает только для файлов.Мне нужен способ чтения каталогов, списка подкаталогов и файлов, таких как File.io.

Спасибо.

1 Ответ

0 голосов
/ 08 июля 2011

Вы хотите прочитать каталог ресурсов вашего плагина?В противном случае вам нужно пройти по каталогу и открыть по одному потоку на файл:

    String path = "c:\\temp\\";
    File directory = new File(path);
    if (directory.isDirectory()) {
        String[] list = directory.list();
        for (String entry : list) {
            String absolutePath = path + entry;
            System.out.println("processing " + absolutePath);
            File file = new File(absolutePath);
            if (file.isFile()) {
                FileInputStream stream = new FileInputStream(file);
                // use stream
                stream.close();
            }
        }
    }

Если вы также хотите пройти по подкаталогам, вам следует обернуть это в рекурсивный метод, проверить, является ли file каталогом, и вызватьрекурсивный метод в этом случае.

...