如何以编程方式将文件夹从插件复制到工作空间中的新项目?

2023-12-14

我正在开发一个 Eclipse 插件,创建一个新的项目向导。在工作区中创建此类新项目时,我需要它将文件夹及其后代从插件复制到工作区中刚刚创建的项目。问题是,虽然该项目是IResource插件文件夹位于文件系统中。

我成功获取了需要复制的源插件文件夹的 URL,并且拥有 IProject 参考。

我需要知道的是:如何将前者复制到后者中?


查看这个答案了解如何从插件中获取文件/文件夹。

然后在项目中创建新文件/文件夹并使用设置文件内容InputStream:

void copyFiles (File srcFolder, IContainer destFolder) {
    for (File f: srcFolder.listFiles()) {
        if (f.isDirectory()) {
            IFolder newFolder = destFolder.getFolder(new Path(f.getName()));
            newFolder.create(true, true, null);
            copyFiles(f, newFolder);
        } else {
            IFile newFile = destFolder.getFile(new Path(f.getName()));
            newFile.create(new FileInputStream(f), true, null);
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以编程方式将文件夹从插件复制到工作空间中的新项目? 的相关文章

随机推荐