如何运行不同目录中的Java类文件?
假设:
我们有两个名为[Java.java和C.java]的Java文件,以及两个名为[E:\Javaprograms和E:\Cprograms]的目录。
第一个Java文件Java.java在E:\Javaprograms目录中,第二个Java文件C.java在E:\Cprograms目录中。
给定的问题:
给定的问题是在E:\Cprograms目录中执行E:\Javaprograms目录中的Java.class文件。
解:
要执行其他目录中的java类文件,需要执行各种步骤,
1)第一步,我们在E:\Javaprograms目录中创建一个名为Java.java的Java文件。
Java
class Java { public void display() { System.out.println("Java.java file is in E:\\Javaprograms directory"); } }
2)在第二步中,我们将在E:\Javaprograms目录中编译Java.java文件,因此我们将执行一些步骤。
从开始菜单打开命令提示符或终端。
打开终端后,我们必须定位到Java.java文件的路径。
C:\Users> cd \ 然后按回车 [移动到根目录] C:\> e: 然后按Enter键,然后按cd Javaprograms,然后再次按Enter键。 [移至存储我们的Java.java文件的目录.] E:\Javaprograms> javac Java.java 然后按回车 [如果文件成功编译,则类文件将 在同一目录E:\ Javaprograms中生成。]
3)在第三步中,我们将看到如果在另一个名为[E:\Cprograms]的目录中运行名为[E:\Javaprograms]的Java.class的Java类文件将会发生什么。
在这里,我们在E:\Cprograms目录中创建另一个名为C.java的Java文件。
C.java:
class C { public static void main(String[] args) { System.out.println("C.java file is in E:\Cprograms directory"); //在这里,我们创建一个Java.java类的对象 //E:\ Javaprograms- Java ja = new Java(); Ja.display(); } }
注意:如果我们编译上述程序,则将获得找不到编译时错误的Java类,因为该类位于E:\Javaprograms目录中,因此我们尝试在E:\Cprograms中执行Java.class,那么将得到一个错误因此,当我们在此E:\Cprograms目录中包含E:\ Javaprograms目录的Java.class文件时,可以解决此问题。
4)在第四步中,我们将了解如何在此E:\Cprograms目录中包含E:\Javaprograms的Java.class文件。
借助–cp选项,我们可以在该E:\Cprograms目录中包含E:\Javaprograms的Java.class。
编译语法:
E:\Cprograms> javac –cp E:\Javaprograms C.java
–cpE:\Javaprograms:-cpwithpathname(我们将提供包含文件的路径,这里包含的文件是Java.class位于E:\Javaprograms目录中)
C.java:这是已编译类的名称。
执行语法:
E:\Cprograms> java –cp E:\Javaprograms; C
5)在第五步或最后一步中,我们将借助示例来理解,
示例
E:\Javaprograms中的Java.java
class Java { public void display() { System.out.println("Java.java file is executing in different directory"); } }
E:\Cprograms中的C.java
class C { System.out.println("C.java file is executing in same directory"); public static void main(String[] args) { //在这里,我们创建一个Java.java类的对象 //E:\ Javaprograms- Java ja = new Java(); ja.display(); } }
我们将编译并执行E:\Cprograms目录的C类,并使用help–cp选项在E:\Cprograms中执行另一个名为Java.class在E:\Javaprograms的Java类。
E:\Cprograms> javac –cp E:\Javaprograms C.java E:\Cprograms> java –cp E:\Javaprograms; C
输出结果
E:\Programs>javac -cp E:\Javaprograms C.java E:\Programs>java -cp E:\Javaprograms; C C.java file is executing in same directory Java.java file is executing in different directory