如何在java中写入控制台?

时间:2015-07-26 15:25:21

标签: java eclipse command-line

我正在使用command line中的eclipse java程序。我用System.out.println写入控制台。当我用eclipse运行它时,它工作,但是当我将它编译为jar文件,并通过cmd运行它时,它没有写任何东西到屏幕上。我查找的所有内容都说使用System.out.println写入命令行。我该怎么办?这是我的代码:

package cpac;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;




public class packfile {
    static double vernum = 1.1;
    public static void saveUrl(final String in2, final String urlString)
            throws MalformedURLException, IOException {
        BufferedInputStream in = null;
        FileOutputStream fout = null;
        try {
            in = new BufferedInputStream(new URL(urlString).openStream());
            fout = new FileOutputStream(in2);

            final byte data[] = new byte[1024];
            int count;
            while ((count = in.read(data, 0, 1024)) != -1) {
                fout.write(data, 0, count);
            }
        } finally {
            if (in != null) {
                in.close();
            }
            if (fout != null) {
                fout.close();
            }
        }
    }
    public static void main (String[] args) throws IOException {
        int where = 0;
        System.out.println("CPac Version " + vernum);
        for (String s: args) {
            if (s.equals("update")) {
            java.io.File file = new java.io.File("cpac.jar");
            file.delete();
            saveUrl("cpac.jar", "http://example.com/package/cpac.jar");
            return;
            }



            if (s.equals("install")) {
                System.out.println("install");
                URL oracle = new URL("http://example.com/package/" + args[where + 1] +"/package.pac");
                BufferedReader in = new BufferedReader(
                new InputStreamReader(oracle.openStream()));

                String inputLine;
                String data = null;
                while ((inputLine = in.readLine()) != null){
                data = inputLine;
            }
                in.close();
                saveUrl(data, "http://example.com/package/" + args[where + 1] +"/" + data);
                System.out.println("Done!");

            }
            where = where + 1;
            }
        }
}

修改 我只是通过在cmd中输入他们的名字来阅读一些说你无法运行jar文件的内容。有没有办法不必在不需要额外文件的情况下输入长命令?

2 个答案:

答案 0 :(得分:2)

查看您在命令行中输入的内容会有所帮助。希望它看起来像这样。

java -cp <filename.jar> cpac.packfile

答案 1 :(得分:1)

“在Eclipse中工作” - IDE让你无法理解事情是如何运作的。

您不运行JAR文件;运行JRE并告诉它使用JAR文件来查找您在META-INF / manifest.mf中指定的主类。

控制台中没有消息吗?你没有得到反馈吗?如果您create the executable JAR properly,您的主要课程将会运行。如果您的主类运行,它将在您打印到控制台时写入命令shell。