有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

What I did was to create a batch file, jax.bat, saying: @java -jar %1 and I put this in my java/bin folder. I then associate .jar-files with jax.bat.

从那以后,问题似乎解决了。然而,当我尝试在我朋友的计算机上运行它时,我发现当从命令提示符运行时,它会按预期写入文件,但当双击运行时,它不会。以下是filewriter的代码

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文件


共 (1) 个答案

  1. # 1 楼答案

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

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

    目的地。txt应出现在workingDir指示的目录中

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