如何在eclipse插件开发中使用InputStream读取目录

时间:2011-07-08 06:51:22

标签: eclipse plugins directory inputstream

我正在开发一个eclipse插件,我需要遍历目录和目录的整个内容。我找到了将插件(bundleresource)中的文件作为InputStream读取的方法。

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

此方法仅适用于文件。我需要一种方法来读取目录,列出子目录和文件,如File.io.

感谢。

1 个答案:

答案 0 :(得分:0)

您想阅读插件的资源目录吗?否则,您必须遍历目录并为每个文件打开一个流:

    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是否是一个目录,并在这种情况下调用递归方法。