如何将控制台与Java应用程序相关联?

时间:2009-03-24 06:08:18

标签: console java

因为我一直在学习Java,所以我已经能够创建GUI程序了。 然而,即使是简单的“Hello World!”如果程序需要控制台,程序将无法运行。 我对该主题的研究使我得出结论,我的Java Runtime Environment没有与之关联的控制台。

是否可以以某种方式调用Win32“AllocConsole”方法,就像在C#中一样?

编辑:

我的意思是你正在描述的控制台,一个像C#程序一样的控制台。 我忘了提到我正在使用Eclipse IDE。从我发现的Eclipse运行程序使用“javaw.exe”而不是“java.exe”导致程序没有控制台。另外,windows“命令提示符”是一个程序,它使用我所说的控制台类型。

感谢您的回答。

Euphoria83在我想要做的事情上走在正确的轨道上。顺便说一下他的方法是有效的,但是当我点击我创建的程序的“.jar”文件时,我想让控制台自动出现。基本上,我需要控制台在运行时像C#一样运行。此外,Eclipse确实有一个控制台窗口(我认为他们称之为控制台透视图,但我习惯使用Visual Studio,因此我不太确定),这将只显示Eclipse内的程序输出 。我希望控制台能够在运行时工作,而不仅仅是在集成开发环境中。

5 个答案:

答案 0 :(得分:3)

将'java.exe'与.jar扩展名关联(默认情况下,它将是'javaw.exe',它没有控制台),在这种情况下,您将获得每个jar的控制台,或者创建一个快捷方式使用您选择/批处理脚本的语言的/.exe,当您单击它时运行'java -jar myjar.jar'。

答案 1 :(得分:2)

控制台到底是什么意思?

键入常规

System.out.println("Hello world!");

在一个简单的Java程序中,从命令行运行它应该可以得到你想要的结果。除非你对控制台的定义不同,否则你需要更好地解释自己。

答案 2 :(得分:0)

正如Yuval所说,System.out.println(“...”)将您的文本打印到控制台窗口。

作为一个小解释,System.out是System类自动提供的“标准”输出流(您可能知道类似于C或C ++的输出流)。

您可以创建自己的输出流(有几种不同类型的输出流类,例如写入文件或字符串),并使用这些的print()和println()方法。

答案 3 :(得分:0)

执行代码时是否收到错误消息,或者即使代码执行成功,您也无法看到结果?

您似乎正在使用IDE。输出可能被定向到不可见的控制台窗口。您必须从菜单中选择使其可见。

试试这个:

将以下内容保存在名为“Test.java”的文本文件中

public class Test {
     public static void main(String[] args) {
          System.out.println("This is a print from my code") ;
     }
}

然后在运行提示符下键入“cmd”打开控制台(您可以在“开始”菜单中选择)。转到存储Test.java的文件夹并输入。

> javac Test.java

接着是

> java Test

如果您看到“这是我的代码打印”正在打印,那么您的代码正在向控制台生成输出。

答案 4 :(得分:0)

您可以在 C:\ Documents and Settings \ User \中创建批处理文件 jarconsole.bat ,而不是使用文件关联(这是更改默认值的一种方法)。 SendTo 目录:

@ECHO OFF
java -jar %1
PAUSE

然后,您可以通过右键单击并选择发送至>来启动jar。 jarconsole.bat

另请参阅this question有关使用Eclipse的某些控制台功能的信息。