【问题标题】:Java Swing: Add resources at run timeJava Swing:在运行时添加资源
【发布时间】:2013-08-05 17:55:06
【问题描述】:

有没有办法在java中向类或包中添加资源?例如,如果我使用JFileChooser 为用户提供选择任何图像文件的选项。假设用户已经从他的桌面(或任何其他目录)中选择了一个文件。我知道我可以通过调用方法getSelectedFile().toString() 来获取它的位置,它会以字符串格式返回我的文件目录。

所以现在我想要的操作是我想将此文件添加到类的资源中。我想添加,因为我想稍后通过调用this.class.getResource() 方法检索此图像/文件。

请指导我,谢谢。

【问题讨论】:

  • 您为什么要以这种方式检索用户提供的文件(保证不会成为您的课程资源的一部分)?为什么不使用常规的文件系统 IO API?
  • 正如@TomG 所说,为什么不将选定的文件存储到其他目录并使用普通的 java IO 从那里读取它?

标签: java eclipse swing class user-interface


【解决方案1】:

在下面的链接中是一个相当丑陋的 hack,它在运行时添加到 SystemClassLoader。 Adding files to java classpath at runtime

【讨论】:

  • 没有简单的方法吗?我的要求只是我想在运行时将文件添加到资源中。例如:-String fileName = "C:/Users/Zulfiqar Junejo/Desktop/profile.jpg"现在有什么办法可以把这个dir表示的文件添加到资源中?
  • 您只能将文件夹或 jar 文件添加到类加载器(包含所有资源)。请参阅 Javadoc:docs.oracle.com/javase/7/docs/api/java/lang/…
  • How to Answer: 为链接提供上下文 始终欢迎提供潜在解决方案的链接,但请在链接周围添加上下文,以便您的其他用户有一些知道它是什么以及它为什么在那里。始终引用重要链接中最相关的部分,以防目标站点无法访问或永久离线。
猜你喜欢
  • 2011-03-28
  • 2011-08-19
  • 2014-02-14
  • 2013-04-11
  • 1970-01-01
  • 1970-01-01
  • 2020-01-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多