如何在Windows上从命令行运行Java程序?
我试图从Windows的命令行执行Java程序。这里是我的代码:如何在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.
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!
quote your sources – 2013-04-22 00:31:22
im问题是当我尝试运行编译器时出现错误“无法找到或加载主类CopyFile – 2013-04-22 00:42:36
如果您将包含CopyFile.class的文件夹设置为当前目录,只需尝试“java -cp。 CopyFile“否则”java -cp FULLPATH CopyFile“ – 2013-04-22 00:48:45
可以编译在命令行使用javac任何Java源;例如,javac CopyFile.java。 运行:java CopyFile。 您还可以,只要他们在同一个目录下编译使用javac *的.java所有的java文件
如果您有任何关于产生“找不到或无法加载主类”的问题,你可能没有 在你的道路上。看看这个问题: Could not find or load main class
对于请编译Java文件生成类
的javac filename.java
对于文件的执行
的java文件名
请注意,您的“文件名”实际上是一个类的名称.java.exe将搜索每个* .jar文件中的这个名称的类。 – Doomjunky 2017-08-24 20:37:12
要完成答案:
-
Java文件
TheJavaFile.java
-
编译Java文件到* .class文件
javac TheJavaFile.java
- 这将创建一个
TheJavaFile.class
文件
- 这将创建一个
-
执行的Java F
-
:
-
使用外部清单文件 - ILE
java TheJavaFile
-
可执行文件
*.jar
你来到这里两个选项的创建科瑞清单文件说 - MANIFEST。MF
清单文件是什么,但通过入口点的主类
jar -cvfm TheJavaFile.jar MANIFEST.mf TheJavaFile.class
-
可执行一个明确的条目:
jar -cvfe TheJavaFile.jar <MainClass> TheJavaFile.class
-
-
-
要运行jar文件
java -jar TheJavaFile.jar
你能否认为e显示MANIFEST.mf的内容,因为当我尝试“通过入口点执行”它说主要类无法找到 – 2015-11-17 18:06:47
@Piny Cheyni如果你的类被称为MainClass,那么你的清单文件将有一个条目Main-Class:MainClass – 2324 2015-11-25 03:26:27
@PiniCheyni,这里介绍两种创建可执行文件的方法。 https://docs.oracle.com/javase/tutorial/deployment/jar/appman.html – 2016-09-27 05:39:20
在Windows 7上我不得不做以下几点:
快速的方法
- 安装JDK http://www.oracle.com/technetwork/java/javase/downloads 在Windows
- ,浏览到“C:\ Program Files文件\的Java \ jdk1。 8.0_91 \ bin“(或者安装最新版本的JDK),按住Shift并右键单击窗口内的空白区域,然后执行”在此处打开命令窗口“,这将为您提供命令行并访问所有BIN工具。 “javac”不是默认在windows系统的PATH环境变量中。
- 按照上述评论有关如何编译文件( “javac的MyFile.java”,然后 “的java MyFile的”)https://stackoverflow.com/a/33149828/194872
很长的路要走
- 安装JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html
- 安装后,编辑Windows PATH环境变量并将以下内容添加到路径C:\ ProgramData \ Oracle \ Java \ javapath。在这个文件夹中有几个java可执行文件的符号链接但是“javac”不是其中的一个所以当试图从Windows命令行运行“javac”时它会引发错误。
- 我编辑了路径:控制面板 - >系统 - >高级选项卡 - >“环境变量...”按钮 - >向下滚动到“路径”,突出显示并编辑 - >替换“C:\ ProgramData \ Oracle \ Java \ javapath“,直接路径到java BIN文件夹”C:\ Program Files \ Java \ jdk1.8.0_91 \ bin“。
当您升级JDK安装但现在可以访问所有命令行工具时,这可能会中断。
按照上述评论有关如何编译文件( “javac的MyFile.java”,然后 “java的MyFile的”)https://stackoverflow.com/a/33149828/194872
如果您的Java类是在一些包。假设你的java类名为ABC.java存在于com.hello.programs中,那么你需要使用包名来运行它。像
编译做通常的方式
命令:C:\ SimpleJavaProject的\ src \ COM \你好\程序>的javac ABC.java
但是运行你需要给包名称和那么你的java类名。
命令:C:\ SimpleJavaProject \ SRC>的java com.hello.programs.ABC
假设该文件被称为 “CopyFile.java”,执行以下操作:
javac CopyFile.java
java -cp . CopyFile
第一行将源代码编译成可执行的字节码。第二行执行它,首先将当前目录添加到类路径(以防万一)。
mycomputer:bin user $ java -cp。 Main.class 错误:无法找到或加载主类Main.class – Chrips 2017-08-13 07:14:02
'javac的CopyFile.java'然后'Java的CopyFile' – alfasin 2013-04-22 00:29:21
我在命令行是现在,我需要在同一文件夹中保存我的txt文件的程序对它们进行调用? – 2013-04-22 00:30:56
'CopyFile'包含什么包 – MadProgrammer 2013-04-22 00:32:28