我正在尝试从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是一次编写,随处运行)?


当前回答

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

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

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

JShell的完整文档可以在这里找到。

其他回答

来源:javaindos。

Let's say your file is in C:\mywork\ Run Command Prompt C:\> cd \mywork This makes C:\mywork the current directory. C:\mywork> dir This displays the directory contents. You should see filenamehere.java among the files. C:\mywork> set path=%path%;C:\Program Files\Java\jdk1.5.0_09\bin This tells the system where to find JDK programs. C:\mywork> javac filenamehere.java This runs javac.exe, the compiler. You should see nothing but the next system prompt... C:\mywork> dir javac has created the filenamehere.class file. You should see filenamehere.java and filenamehere.class among the files. C:\mywork> java filenamehere This runs the Java interpreter. You should then see your program output. If the system cannot find javac, check the set path command. If javac runs but you get errors, check your Java text. If the program compiles but you get an exception, check the spelling and capitalization in the file name and the class name and the java HelloWorld command. Java is case-sensitive!

万一你的Java类在某个包里。假设在com.hello中出现了名为ABC.java的Java类。程序,然后您需要使用包名运行它。

按通常的方式编译:

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

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

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

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

如果你有一个问题导致“无法找到或加载主类”,你可能没有 Jre在你的路径。看看这个问题: 无法找到或加载主类

编译一个Java文件来生成一个类:

javac filename.java

执行生成的类:

java filename

这很简单。如果你把文件保存为A.text,你应该做的第一件事就是保存为A.java。现在它是一个Java文件。

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

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

javac A.java

然后使用

java的一个

这就是在cmd中编译和运行java程序的方法。 你也可以通过这些材料来深入学习Java。在Java中你需要理解的很多东西都涵盖在初学者那里。