繁体   English   中英

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

[英]How do I run a Java program from the command line on Windows?

我正在尝试从 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();
        }
    }
}

来源: javaindos。<\/a>

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

运行命令提示符

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

这将显示目录内容。 您应该在文件中看到 filenamehere.java。

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

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

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

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

如果系统找不到 javac,请检查 set path 命令。 如果 javac 运行但出现错误,请检查 Java 文本。 如果程序编译但出现异常,请检查文件名和类名中的拼写和大小写以及 java HelloWorld 命令。 Java区分大小写!

要完成答案:

  1. Java 文件

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

    
            
            
      这将创建一个TheJavaFile.class<\/code>文件<\/li><\/ul><\/li>
    • Java 文件的执行

    • 创建可执行的*.jar<\/code>文件

      • 你有两个选择 -

        1. 使用外部清单文件:

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

          • MANIFEST 文件不过是主类的显式条目

          • 可由入口点执行:

            • 运行 Jar 文件

编译<\/strong>一个 Java 文件以生成一个类:

javac filename.java

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

用通常的方式编译它:

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

但是要运行它,您需要给出包名,然后是您的 java 类名:

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

从 Java 11 开始, java<\/code>命令行工具已经能够直接运行单文件源代码。 例如

java HelloWorld.java

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

javac CopyFile.java
java -cp . CopyFile

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

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

现在您需要在编译之前打开 cmd 并设置 A.java 文件的路径。 你可以参考这个<\/a>。

然后你可以使用命令编译你的文件

javac A.java

然后使用

爪哇

这就是您在 cmd 中编译和运行 java 程序的方式。 您还可以通过这些材料<\/a>深入学习 Java 课程。 那里为初学者介绍了许多您需要了解的 Java 内容。

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

如果您遇到“无法找到或加载主类”的问题,您的路径中可能没有 jre。 看看这个问题: 找不到或加载主类<\/a>

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

快捷方式<\/strong>

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

    很长的路要走<\/strong>

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

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

从 Java 9 开始,JDK 包括jshell ,一个 Java REPL。

假设 JDK 9+ bin目录已正确添加到您的路径中,您将能够简单地:

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

可以在此处找到 JShell 的完整文档。

现在(从 JDK 9 开始),您可以使用 java 来执行它。 为了执行包含main的“Hello.java”,可以使用:java Hello.java

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

您实际上可以像运行 shell 或 python 脚本一样运行 Java 程序,而无需手动编译 Java 文件,如JEP 330<\/a>中所述。 从 JDK 11 开始就可以使用了。

如果你创建了一个testing<\/code>文件,并把下面的内容当成testing<\/code>命令运行应该就可以了。 您需要使用chmod +x testing<\/code>使其在 Linux 和 Mac OSX 中可执行。

    #!/usr/bin/env java --source 11
    public class Test {
        public static void main(String [] args) {
            System.out.println("Hello world!");
            System.exit(0);
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM