[英]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.