繁体   English   中英

jar从cmd写入文件,但不能双击

[英]jar writes to file from cmd but not double click

我导出了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();

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

Edit2:我仅通过从eclipse导出可运行的jar来构建了jar文件。

通过双击运行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指示的目录中。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM