IO程序不能从控制台运行,但它通过Eclipse(Java)运行
问题描述:
它编译得很好,但是当我尝试从控制台运行它时,出现ClassNotFoundException错误。但如果我从Eclipse运行它,它工作正常。为什么?IO程序不能从控制台运行,但它通过Eclipse(Java)运行
我使用“javac FileIO.java”编译和“java FileIO”来运行它。
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.FileReader;
import java.io.FileOutputStream;
public class FileIO {
public static void main(String[] args){
PrintWriter pw = null;
BufferedReader bfr = null;
String linea = null;
try{
bfr = new BufferedReader(new FileReader("Records"));
linea = bfr.readLine();
} catch(FileNotFoundException fnfex){
System.out.println("Check you have reading/writing access.");
} catch(IOException ioex){
ioex.printStackTrace();
}
try{
pw = new PrintWriter(new FileOutputStream("Copy Records"));
} catch(FileNotFoundException fnfex){
System.out.println("Check you have reading/writing access.");
}
while(linea != null){
pw.println(linea);
try{
linea = bfr.readLine();
} catch(IOException ioex){
ioex.printStackTrace();
}
}
try{
bfr.close();
} catch(IOException ioex){
ioex.printStackTrace();
}
pw.close();
}
}`
完整的堆栈跟踪:
`Exception in thread "main" java.lang.NoClassDefFoundError: FileIO/java
Caused by: java.lang.ClassNotFoundException: FileIO.java
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: FileIO.java. Program will exit.
`
答
您正在尝试运行FileIO.java;它在FileIO包中看到“java”作为类。
答
错误消息看起来像您所呼叫
java FileIO.java
,而不是
java FileIO
+0
我很抱歉因为这样的错误而浪费你的时间。 – 2012-02-28 20:28:16
向我们展示完整的'stacktrace'。 – RanRag 2012-02-28 20:17:49
当你没有展示你如何编译它,你如何试图运行它,或者错误信息是什么时,很难提供帮助。 – 2012-02-28 20:18:03
哪些类缺失? – 2012-02-28 20:19:17