1

我导出了我的 java 项目并运行了它。起初,当我双击时它不起作用,但经过一些研究,我遇到了这个解决方案

我所做的是创建一个批处理文件 jax.bat,说:@java -jar %1 我把它放在我的 java/bin 文件夹中。然后我将 .jar 文件与 jax.bat 相关联。

在那之后,问题似乎得到了解决。但是,当我尝试在我朋友的计算机上运行它时,我发现从命令提示符运行时它会按预期写入文件,但是当它通过双击运行时却没有。这是文件编写器的代码

File writeTo = new File("Destinations.txt");
BufferedWriter bw = new BufferedWriter(new FileWriter(writeTo),32768);
//Some lines later
bw.write("The price is $"+ prices.get(lowest)+" travelling to "+ places.get(i)+" on "+ month+"/"+day);
bw.newLine();
          }
bw.close();

编辑:我尝试添加 String workingDir... 并在他的计算机上运行它。出现消息,但说文件在 Windows/System32 中

Edit2:我只是通过从 Eclipse 中导出一个可运行的 jar 来构建我的 jar 文件。

4

1 回答 1

0

当您通过双击运行 JAR 时,它可能对工作目录做了一些奇怪的事情。您的文件被写入当前工作目录(因为您没有指定路径),这可能不是您要查找的位置。您可以执行以下操作来获取当前工作目录:

// Get the current working directory
String workingDir = System.getProperty("user.dir");
// Display workingDir in a Swing message dialog window
JOptionPane.showMessageDialog(null, workingDir);

Destinations.txt应该出现在 . 指示的目录中workingDir

另一方面,如果问题只是通过双击启动程序时程序实际上没有正确运行,那么当消息对话框没有出现时应该很明显。

于 2013-07-08T01:49:06.827 回答