当前位置: 首页 > 知识库问答 >
问题:

如何访问zip中的类文件?

乐正峰
2023-03-14

我有一个zip文件“items.zip”。

在这个zip-File中有不同的类,其中一些对我有用,而另一些则不是。

items.zip
    -> circle.class
    -> circleButYouCantDrawIt.class
    // someotherclasses, some drawable, some not

圆圈类有一个construcor和一个paint方法。

圆圈ButYoucantDrawit。类具有损坏的构造函数

在启动主程序之前,我想访问项目。zip,检查它们是否可用,然后尽可能地使用有用的。最好的方法是什么?

到目前为止,我已经尝试了9次,但没有一次有意义。我如何才能做到最好?

共有1个答案

和弘博
2023-03-14

如果在程序启动时将zip文件放在类路径上,Java可以直接使用这些类(因为Jar文件是包含额外信息的zip文件)。

如果您提前知道类的名称,您可以简单地尝试使用新myclass()创建每个类的实例(如果它们具有默认构造函数)。

如果没有,您可以扫描项目。使用zip文件处理例程压缩文件,然后调用仍在类路径上的类。

如果您不想自己将其放在类路径上,而只在适当的情况下在运行时进行,那么您需要考虑编写一个定制的类加载器,它可能比需要的更大。

 类似资料:
  • 我试图在ZIP文件内创建一个ZIP文件,以重新构建以前在内存中的zip结构,我在Java。 我失败了,因为我得到了一个错误的内部ZIP内创建的初始ZIP文件。文件已损坏。当试图打开它时,我得到一个“文件的意外结局”。 我得到了这个结构: -input.zip--InnerInput.zip 代码使用java Stack和Map在内存中解压。然后它创建input2.zip,内部nput.zip。 总

  • 问题内容: 我正在使用FlatPack来分析和加载平面文件中的数据。这需要加载一个配置文件,该文件存储平面文件各列的映射。 我有一个常量来定义映射文件的位置: 我有一个parse(File dataFile)方法实际上执行解析: 当我罐子了一切并运行它作为一个罐子-它炸弹出来了。该文件虽然在罐子里。 我该怎么办? 我已经看过这个问题以及关于访问jars中文件的问题,他们都建议暂时提取文件。我不想这

  • 问题内容: 我有一个带有工具栏的Java项目,该工具栏上带有图标。这些图标存储在名为resources /的文件夹中,因此路径可能是“ resources / icon1.png”。该文件夹位于我的src目录中,因此在编译后,该文件夹将被复制到bin / 我正在使用以下代码访问资源。 (imageName将为“ resources / icon1.png”等)。在Eclipse中运行时,效果很好。

  • 问题内容: 我有一个带有.groovy脚本的共享库,可以在jenkinsfile中这样调用: 我要执行的共享库中也有一个.ps1文件。但是,如果当我从jenkinsfile调用共享库函数时从共享库函数中执行该操作,则当前工作目录就是jenkinsfile所在管道的jenkins工作目录(通常是您想要的)。 有没有办法访问共享库中的文件?我想要做 问题答案: 您只能使用内置步骤获得内容。这就是为什么

  • 我正在使用Maven Shade为一个Jetty项目创建一个shaded.jar文件。这个项目包括一些资源文件(文本属性文件),我想阅读。 如何访问上述。jar文件中的文件? 从文件提取工具查看jar中的当前文件夹结构如下所示: 我想访问名为的组合jar文件根中的文件。我想从创建的java类访问这个文件。 这里问到的关于访问jar文件的问题是:jar文件中的访问文件? 不能使用,因为它们不使用带阴

  • 我需要改变php.ini文件中的一些变量,以便能够上传文件。我买了一个域名 配置文件(php.ini)路径是/usr/local/php/p56 加载的配置文件是/usr/local/directadmin/data/users/kristak/php/funwithhakase。pl/php56。伊尼 我不知道应该访问这些文件中的哪些,以及如何更改所需的变量。我试着把地址输入到FileZilla