如何从Windows上的命令行运行Java程序?

时间:2013-04-22 00:26:51

标签: java

我正在尝试从Windows中的命令行执行Java程序。这是我的代码:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class CopyFile
{
    public static void main(String[] args)
    {

        InputStream inStream = null;
        OutputStream outStream = null;

        try
        {

            File afile = new File("input.txt");
            File bfile = new File("inputCopy.txt");

            inStream = new FileInputStream(afile);
            outStream = new FileOutputStream(bfile);

            byte[] buffer = new byte[1024];

            int length;
            // copy the file content in bytes
            while ((length = inStream.read(buffer)) > 0)
            {

                outStream.write(buffer, 0, length);

            }

            inStream.close();
            outStream.close();

            System.out.println("File is copied successful!");

        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}

我不确定如何执行该程序 - 任何帮助?这可能在Windows上吗?为什么它与另一个环境不同(我认为JVM只写一次,在任何地方运行)?

12 个答案:

答案 0 :(得分:224)

来源:javaindos.

  

假设您的文件位于C:\ mywork \

     

运行命令提示符

C:\> cd \mywork
     

这使得C:\ mywork成为当前目录。

C:\mywork> dir
     

显示目录内容。你应该看到   文件中的filenamehere.java。

C:\mywork> set path=%path%;C:\Program Files\Java\jdk1.5.0_09\bin
     

这告诉系统在哪里可以找到JDK程序。

C:\mywork> javac filenamehere.java
     

这会运行编译器javac.exe。你应该只看到   下一个系统提示......

C:\mywork> dir
     

javac创建了filenamehere.class文件。你应该看到   文件中的filenamehere.java和filenamehere.class。

C:\mywork> java filenamehere
     

这将运行Java解释器。然后你应该看到你的程序   输出

     

如果系统找不到javac,请检查set path命令。如果是javac   运行但是你得到错误,检查你的Java文本。如果是程序   编译,但你得到一个例外,检查拼写和   文件名中的大写,类名和java   HelloWorld命令。 Java区分大小写!

答案 1 :(得分:103)

完成答案:

  1. Java文件

    TheJavaFile.java
    
  2. 将Java文件编译为* .class文件

    javac TheJavaFile.java
    
    • 这将创建一个TheJavaFile.class文件
  3. 执行Java文件

    java TheJavaFile
    
  4. 创建可执行文件*.jar

    • 您在这里有两个选择 -

      1. 使用外部清单文件:

        • 创建清单文件说 - MANIFEST.mf

        • MANIFEST文件只是Main Class的明确条目

        • jar -cvfm TheJavaFile.jar MANIFEST.mf TheJavaFile.class

      2. 入口点可执行:

        • jar -cvfe TheJavaFile.jar <MainClass> TheJavaFile.class
  5. 运行Jar文件

    java -jar TheJavaFile.jar
    

答案 2 :(得分:20)

如果您的Java类在某个包中。假设ABC.java中存在名为com.hello.programs的Java类,则需要使用包名运行它。

以通常的方式编译:

C:\SimpleJavaProject\src\com\hello\programs > javac ABC.java

但要运行它,您需要提供包名称,然后提供您的java类名称:

C:\SimpleJavaProject\src > java com.hello.programs.ABC

答案 3 :(得分:17)

Complile 用于生成类的Java文件:

javac filename.java

执行生成的类:

java filename

答案 4 :(得分:9)

很容易。如果您已将文件保存为A.text,则应首先将其保存为A.java。现在它是一个Java文件。

现在您需要在编译之前打开cmd并设置A.java文件的路径。你可以参考this

然后您可以使用命令

编译您的文件
  

javac A.java

然后使用

运行它
  

java A

这就是你在cmd中编译和运行java程序的方法。 您还可以浏览这些深入课程中的material Java。在初学者中,您需要了解Java中需要了解的许多内容。

答案 5 :(得分:7)

您可以在命令行中使用javac编译任何java源代码;例如,javac CopyFile.java。 运行:java CopyFile。 您也可以使用javac * .java编译所有java文件,只要它们位于同一目录

如果您遇到“无法找到或加载主要课程”的问题,您可能没有 jre在你的道路上。看看这个问题: Could not find or load main class

答案 6 :(得分:7)

假设文件名为“CopyFile.java”,请执行以下操作:

javac CopyFile.java
java -cp . CopyFile

第一行将源代码编译为可执行字节代码。第二行执行它,首先将当前目录添加到类路径中(以防万一)。

答案 7 :(得分:4)

在Windows 7上,我必须执行以下操作:

快捷方式

  1. 安装JDK http://www.oracle.com/technetwork/java/javase/downloads
  2. 在Windows中,浏览到“C:\ Program Files \ Java \ jdk1.8.0_91 \ bin”(或安装最新版本的JDK的任何地方),按住shift并右键单击窗口中的空白区域,在这里“打开命令窗口”,这将为您提供命令行并访问所有BIN工具。默认情况下,“javac”不在Windows系统PATH环境变量中。
  3. 按照以上关于如何编译文件的评论(“javac MyFile.java”然后“java MyFile”)https://stackoverflow.com/a/33149828/194872
  4. 很长的路

    1. 安装JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html
    2. 安装后,编辑Windows PATH环境变量并将以下内容添加到路径C:\ ProgramData \ Oracle \ Java \ javapath中。在这个文件夹中是指向少数java可执行文件的符号链接但是“javac”不是其中之一所以当尝试从Windows命令行运行“javac”时会抛出错误。
    3. 我编辑了路径:控制面板 - &gt;系统 - &gt;高级标签 - &gt; “环境变量......”按钮 - &gt;向下滚动到“路径”,突出显示并编辑 - &gt;将“C:\ ProgramData \ Oracle \ Java \ javapath”替换为java BIN文件夹“C:\ Program Files \ Java \ jdk1.8.0_91 \ bin”的直接路径。
    4. 升级JDK安装时可能会中断,但您现在可以访问所有命令行工具。

    5. 按照以上关于如何编译文件的评论(“javac MyFile.java”然后“java MyFile”)https://stackoverflow.com/a/33149828/194872

答案 8 :(得分:2)

enter image description here 第1步:首先打开您的文件所在位置的命令提示。 (按下shift键右键单击)
第2步:然后使用以下命令执行。         (假设要执行的文件和类名称命名为Student.java)示例程序位于图片背景中。

 dgv.ClipboardCopyMode =DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText;

enter image description here

答案 9 :(得分:1)

从Java 9开始,JDK包括Java REPL jshell

假设JDK 9+ bin目录已正确添加到您的路径中,您将可以简单地进行以下操作:

  1. 运行jshell File.javaFile.java当然是您的文件。
  2. 将打开一个提示,使您可以调用main方法:jshell> File.main(null)
  3. 要关闭提示并结束JVM会话,请使用/exit

可以在here中找到有关JShell的完整文档。

答案 10 :(得分:0)

现在(从JDK 9开始),您只需使用Java即可执行该操作。 为了执行包含主体的“ Hello.java”,可以使用: Java Hello.java

您不再需要使用javac进行单独编译。

答案 11 :(得分:0)

自Java 11起,java命令行工具已经能够直接运行单文件源代码。例如

java HelloWorld.java

这是JEP 330的增强功能:https://openjdk.java.net/jeps/330

有关用法和限制的详细信息,请参见Java实现的手册,例如Oracle提供的手册:https://docs.oracle.com/en/java/javase/11/tools/java.html