我正在尝试从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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定如何执行该程序 - 任何帮助?这可能在Windows上吗?为什么它与另一个环境不同(我认为JVM只写一次,在任何地方运行)?
Nic*_*eux 234
资料来源:javaindos.
假设您的文件位于C:\ mywork \
运行命令提示符
Run Code Online (Sandbox Code Playgroud)C:\> cd \mywork
这使得C:\ mywork成为当前目录.
Run Code Online (Sandbox Code Playgroud)C:\mywork> dir
这将显示目录内容.您应该在文件中看到filenamehere.java.
Run Code Online (Sandbox Code Playgroud)C:\mywork> set path=%path%;C:\Program Files\Java\jdk1.5.0_09\bin
这告诉系统在哪里可以找到JDK程序.
Run Code Online (Sandbox Code Playgroud)C:\mywork> javac filenamehere.java
这运行编译器javac.exe.你应该只看到下一个系统提示...
Run Code Online (Sandbox Code Playgroud)C:\mywork> dir
javac创建了filenamehere.class文件.您应该在文件中看到filenamehere.java和filenamehere.class.
Run Code Online (Sandbox Code Playgroud)C:\mywork> java filenamehere
这运行Java解释器.然后,您应该看到您的程序输出.
如果系统找不到javac,请检查set path命令.如果javac运行但是您遇到错误,请检查您的Java文本.如果程序编译但您得到异常,请检查文件名和类名以及java HelloWorld命令中的拼写和大小写.Java区分大小写!
jkh*_*sla 106
要完成答案:
Java文件
TheJavaFile.java
Run Code Online (Sandbox Code Playgroud)将Java文件编译为*.class文件
javac TheJavaFile.java
Run Code Online (Sandbox Code Playgroud)
TheJavaFile.class
文件执行Java文件
java TheJavaFile
Run Code Online (Sandbox Code Playgroud)创建可执行*.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
Run Code Online (Sandbox Code Playgroud)Har*_*kar 21
如果您的Java类在某个包中.假设您的Java类ABC.java
存在com.hello.programs
,则需要使用包名运行它.
以通常的方式编译它:
C:\SimpleJavaProject\src\com\hello\programs > javac ABC.java
Run Code Online (Sandbox Code Playgroud)
但要运行它,您需要提供包名称,然后提供您的java类名称:
C:\SimpleJavaProject\src > java com.hello.programs.ABC
Run Code Online (Sandbox Code Playgroud)
Par*_*227 18
压缩 Java文件以生成类:
javac filename.java
Run Code Online (Sandbox Code Playgroud)
执行生成的类:
java filename
Run Code Online (Sandbox Code Playgroud)
aka*_*guc 12
从 Java 11 开始,java
命令行工具已经能够直接运行单文件源代码。例如
java HelloWorld.java
Run Code Online (Sandbox Code Playgroud)
这是 JEP 330 的增强:https : //openjdk.java.net/jeps/330
有关用法和限制的详细信息,请参阅您的 Java 实现手册,例如 Oracle 提供的手册:https : //docs.oracle.com/en/java/javase/11/tools/java.html
假设该文件名为"CopyFile.java",请执行以下操作:
javac CopyFile.java
java -cp . CopyFile
Run Code Online (Sandbox Code Playgroud)
第一行将源代码编译为可执行字节代码.第二行执行它,首先将当前目录添加到类路径(以防万一).
归档时间: |
|
查看次数: |
1243353 次 |
最近记录: |