java用用户输入导出到jar

问题描述

我制作了一个小程序,接受用户输入,然后输出到txt文件。 该程序运行时在Eclipse中没有任何问题。然后我将其导出为可运行的jar文件。 现在,如果我单击该文件,它将仅生成一个空的txt文件。 那么有可能创建一个需要用户输入的jar吗?我做错了什么?

解决方法

是的,那是可能的。怎么了谁知道,这里没有太多细节。

在黑暗中采取野生的方式:

  • 您在Windows上。
  • 您要双击它以启动应用程序。
  • 您要通过System.in输入信息。

在Windows上,应用程序必须声明它们是否在应用程序本身中进行了命令行操作(显示黑框)。因此,仅在Windows上,java.exe具有两个变体:java.exe和javaw.exe。预先声明了-w版本,不接受用户输入。即使应用程序不接受任何输入或输出,java.exe版本始终会显示一个难看的黑框。默认情况下,javaw用于打开jar文件,因此,在这种情况下,您将无法使用System。

“如果我在Windows上双击该应用程序就可以使它运行”的问题没有解决方案-实际上,没有任何通用的解决方案可以使该jar文件在我复制的任何系统上正常运行。它-'运行JVM(从10年左右开始)不再是用户的责任;这是您的责任,您必须构建一个完整的安装程序。

我想您还在学习,在这种情况下-嘿,那不是目标,对吗?只要打开一个dosbox(按Windows键,键入“ cmd”,按Enter键),然后以java -jar myjar.jar的身份运行您的应用,一切都会好起来的。如果需要运送它,那么可以制作一个执行该任务的批处理脚本。

,

我假设此用户输入来自系统输入流System.in

它需要在提供输入流的控制台/终端/外壳中运行。

例如,如果您在Linux上运行,请打开一个终端并运行以下命令:

java -jar myprogram.jar

在Windows上:

javaw -jar myprogram.jar