我试图从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是写一次就可以在任何地方运行)?
资料来源。javaindos.
比方说,你的文件在C:\mywork\中。
运行命令提示符
C:\gt; 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是区分大小写的!
Complile一个Java文件来生成一个类。
javac filename.java
执行生成的类。
java filename
你可以在命令行中使用javac编译任何java源代码;例如,javac CopyFile.java。 运行: java CopyFile. 你也可以用javac *.java来编译所有的java文件,只要它们在同一个目录中。
如果你遇到的问题是 "无法找到或加载主类",你可能在路径中没有 jre在你的路径中。请看一下这个问题。 https://stackoverflow.com/questions/7647448/could-not-find-or-load-main-class