2012-02-28 57 views
1

它编译得很好,但是当我尝试从控制台运行它时,出现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. 

`

+0

向我们展示完整的'stacktrace'。 – RanRag 2012-02-28 20:17:49

+2

当你没有展示你如何编译它,你如何试图运行它,或者错误信息是什么时,很难提供帮助。 – 2012-02-28 20:18:03

+0

哪些类缺失? – 2012-02-28 20:19:17

回答

2

您正在尝试运行FileIO.java;它在FileIO包中看到“java”作为类。

6

错误消息看起来像您所呼叫

java FileIO.java 

,而不是

java FileIO 
+0

我很抱歉因为这样的错误而浪费你的时间。 – 2012-02-28 20:28:16

相关问题