我正在尝试从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只写一次,在任何地方运行)?
答案 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)
完成答案:
Java文件
TheJavaFile.java
将Java文件编译为* .class文件
javac TheJavaFile.java
TheJavaFile.class
文件执行Java文件
java TheJavaFile
创建可执行文件*.jar
您在这里有两个选择 -
使用外部清单文件:
创建清单文件说 - MANIFEST.mf
MANIFEST文件只是Main Class的明确条目
jar -cvfm TheJavaFile.jar MANIFEST.mf TheJavaFile.class
入口点可执行:
jar -cvfe TheJavaFile.jar <MainClass> TheJavaFile.class
运行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上,我必须执行以下操作:
快捷方式
很长的路
升级JDK安装时可能会中断,但您现在可以访问所有命令行工具。
按照以上关于如何编译文件的评论(“javac MyFile.java”然后“java MyFile”)https://stackoverflow.com/a/33149828/194872
答案 8 :(得分:2)
第1步:首先打开您的文件所在位置的命令提示。 (按下shift键右键单击)
第2步:然后使用以下命令执行。
(假设要执行的文件和类名称命名为Student.java)示例程序位于图片背景中。
dgv.ClipboardCopyMode =DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText;
答案 9 :(得分:1)
从Java 9开始,JDK包括Java REPL jshell
。
假设JDK 9+ bin
目录已正确添加到您的路径中,您将可以简单地进行以下操作:
jshell File.java
— File.java
当然是您的文件。 main
方法:jshell> File.main(null)
。/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