如何将非gui Java程序构建到控制台程序中

时间:2010-04-21 22:50:51

标签: java jar console terminal java.util.scanner

我不知道如何描述它,但我会尝试。好吧,我希望能够构建我的java程序,这样当它打开时,它的外观和工作方式与在控制台中完全一样。因此它会读取Scanner类并正常打印,并执行它在控制台中所做的一切。我四处寻找,并没有发现任何东西。我可以很容易地制作一个gui java程序,但我宁愿有一个终端,类似程序的控制台,完全像java控制台一样工作,谢谢。

2 个答案:

答案 0 :(得分:3)

根据您的评论:

  

但我想做几百个链接   一个完美运用的时间   扫描器nextLine()方法,我可以   在java中发布100或200个链接   控制台,它会自动排序   他们出去了。

我猜你想要的是批量处理。您可以在文本文件中包含100或200个链接,每行一个。然后你的Java程序:

import java.io.*;

public class Batch{
    public static void main(String args[]){
    try{
        FileInputStream fstream = new FileInputStream("sample.txt");
        BufferedReader br = new BufferedReader(new InputStreamReader(fstream));
        String line;

        while((line = br.readLine()) != null){
            //Do something with your line
            System.out.println(line);
        }
        in.close(); 
    }catch(IOException ioe){
        System.err.println(ioe.getMessage());
    }
}

}

您编译此程序,打开一个控制台并运行它:

java Batch

它读取你的sample.txt文件,并为每一行执行某些操作,在这种情况下将其打印到控制台。

答案 1 :(得分:1)

您可能正在寻找java.lang.System类的标准输入和输出成员:

class HelloWorld {

  public static void main(String... argv) {
    System.out.println("Hello, World!");
  }

}

对于处理输入,您可以在标准输入上使用扫描仪:

Scanner scanner = new Scanner(System.in);

如果您想要真正喜欢,可以将部分输出打印到System.errPrintStream就像System.out一样。


从评论中,“当我编译我的类时,我得到一个jar文件,当我点击它时什么也没做,我认为这是正常的,因为它不是gui,”我认为你的问题是操作系统问题(Windows ?),而不是Java问题。

Windows将JAR文件的“打开”操作映射为与javaw.exe一起运行,但不创建控制台。您需要修改每台计算机上的默认文件关联,或者创建类似于批处理文件的内容来覆盖此默认行为。

可以编写两个程序:第一个是你真正的“控制台”Java应用程序,另一个只是一个使用Runtime.exec()来创建Windows控制台的shell({{1} })并执行其中的第一个程序。

还有一些开源项目(检查Sourceforge)将JAR包装在Windows可执行文件中。