.jar文件中的“文件”不是操作系统的文件。它们只是.jar文件的某些区域,通常会被压缩。它们不能被操作系统作为单独的文件寻址,因此无法以这种方式显示。
Java本身有一种巧妙的方式来通过某些URI来引用这些文件(如您所使用所实现的
getResource()),但这完全是Java特有的。
如果希望某些外部应用程序访问该文件,则有两种可能的解决方案:
- 提供一些标准化的方式来访问文件或
- 使应用程序能够处理打包在.jar(或.zip)文件中的文件。
通常2并不是真正的选择(除非其他应用程序也用Java编写,在这种情况下这很容易)。
选项1通常是通过简单地写入临时文件并引用该文件来完成的。或者,您可以启动小型Web服务器并通过某个URL提供文件。



