2012-02-28 111 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

相關問題