2013-08-05 59 views
1

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

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

请指导我,谢谢。

+0

为什么要以这种方式检索用户提供的文件(这些文件不能保证不属于您的类资源)?你为什么不使用常规的文件系统IO API? –

+0

正如@TomG所说,你为什么不将选定的文件存储到其他目录,并从那里用普通的Java IO读取它? – Piro

回答

1

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

+0

有没有简单的方法?我的要求是,我想在运行时将文件添加到资源中。 例如: - 'String fileName =“C:/ Users/Zulfiqar Junejo/Desktop/profile.jpg” 现在有什么方法可以将这个目录代表的文件添加到资源中吗? –

+0

只能将文件夹或jar文件添加到类加载器(其中包含所有资源)。请参阅Javadoc:http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getResource(java.lang.String) – Khinsu

+0

[如何回答](http:// stackoverflow。问题/如何回答):**为链接提供上下文** _始终欢迎链接到潜在解决方案,但请在链接上添加上下文,以便您的同行用户可以了解它是什么以及为什么它是那里 。如果目标网站无法访问或永久离线,请务必引用重要链接中最相关的部分._ – BackSlash