- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 jar 文件 file.jar
,它需要一个包含 jar 所在位置旁边的图片的文件夹。该程序加载图片并显示它们。
双击或java -jar file.jar
工作正常,但如果我尝试用另一个java程序打开它
File file = new File("path/file.jar");
Desktop.getDesktop().open(file)
它没有加载图片。
它可能是什么?
最佳答案
当您运行java -jar file.jar
时,jar 文件位于当前目录,并且图片文件夹可能也在当前目录中。
当您双击 jar 文件时,代码将以包含的文件夹作为当前目录运行。
当您“打开”path/file.jar
时,当前目录 明显不同,因为否则您为什么需要限定 jar 文件名。由于您的程序在当前目录上回复来查找图片文件夹,因此失败。
解决方案,按照我的推荐顺序(鉴于我对您的代码了解甚少):
将图片包含在 jar 文件中,然后使用 getResourceAsStream
访问它们。
将图片包含在另一个 jar 文件中,让主 jar 文件的 list 文件在类路径中包含图片 jar 文件。
在尝试“打开”文件之前,请确保当前目录正确。
关于java - 如果 jar 需要外部文件,Desktop.getDesktop().open(file) 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52229829/
我正在尝试使用 Java 的 Desktop/getDesktop()/open() 调用通过系统的默认编辑器打开一个文本(简单 ASCII)文件。我正在使用 FileWriter/PrintWrit
我在激活桌面窗口时遇到问题。 我采取了以下方法 1: GetDesktopWindow 获取桌面句柄(有效)我尝试了以下方法将桌面窗口置于顶部,但它们没有用。 SetForegroundWind
我正在开发一个应用程序,如果用户点击一个链接,我希望它在他们的默认浏览器中打开。从我读过的内容来看,这在理论上应该可行,但是,当在 Linux(特别是 Linux Mint 17.1)上运行时,它会挂
当我尝试调用 Desktop.getDesktop().open() 时,我的程序崩溃了。 我使用的是 Ubuntu GNOME 16.10,运行的是 Gnome 3.20.4。我还没有机会在另一个平
这个问题已经有答案了: Can Java's Desktop library launch a URL in a new Browser Tab or Window? (5 个回答) 已关闭 8 年前
我有一个配置文件: PropertiesConfiguration conf = new PropertiesConfiguration("config/conf.file") 其中包含一个带有文件路
在 Java 中,如何启动邮件客户端以及作为其附件的给定文件 - 特别是使用方法 Desktop.getDesktop().mail(URI) 我使用的是 Windows 7 并想启动 MS Outl
从 Java 6 开始有一个类 java.awt.Desktop。有一些不错的方法,但并非所有平台都支持该类。方法java.awt.Desktop.getDesktop()抛出一个 java.lang
我有这段代码: public void openSelectedFiles(MouseEvent mouseEvent){ ListView listView = (ListView) ((N
我有一个 Java 应用程序,当我使用 java.awt.Desktop 时: Desktop.getDesktop().open(file); 它在 Windows 上运行良好(在我的默认程序中打开
我们正在尝试做的事情:我们正在尝试将现有的 Java 桌面应用程序复制到 Android 应用程序(也基于 Java)。桌面应用程序使用以下桌面类代码来打开传递给它的任何形式的文件类型(例如 docx
通过调用Desktop.getDesktop().edit(File myFile)打开/编辑文件时是否可以以某种方式跟踪当前文件状态? 我的目标是在许多用户之一正在编辑文件时锁定共享文件(存储在公共
我有一个 jar 文件 file.jar,它需要一个包含 jar 所在位置旁边的图片的文件夹。该程序加载图片并显示它们。 双击或java -jar file.jar工作正常,但如果我尝试用另一个jav
考虑这个代码片段: import java.awt.*; import java.io.*; public class V { public static void main(String[]
(我不确定这里是否是问这个问题的正确地点。请移至合适的站点) 我有一个问题,显示在下面的代码中。它不适用于装有 CITRIX Xen App 6- 的机器 (windows 2008)。没有错误,只是
我试过谷歌搜索,但找不到答案。我正在编写一个纯 Java 桌面应用程序。帮助系统通过使用 Desktop 类浏览功能并为其提供 URI 来启动。当我添加“?”时,URI 在 Java 中失败。我想将程
嗨,我有一个 Linux 实例,我正在使用桌面类。代码: String path = request.getParameter("path"); try {
在java中,我尝试使用Desktop.getDesktop().open(File file)打开一个文件,但它抛出IOException,尽管Desktop.getDesktop().isSupp
我是一名优秀的程序员,十分优秀!