2011-11-14 21 views
0

私はファイルの問題を扱います。Javaファイルの読み込みに問題がありますか?

IBM 7918 Ayse Durlanik 7600 Computer 
------------------------------------ 
Gama 2342 Mehmet Guzel 8300 Civil 
------------------------------------ 
Lafarge 3242 Ahmet Bilir 4700 Chemical 
------------------------------------ 
Intel 3255 Serhan Atmaca 9200 Electrical 
------------------------------------ 
Bilkent 3452 Fatma Guler 2500 Computer 
------------------------------------ 
Public 1020 Aysen Durmaz 1500 Mechanical 
------------------------------------ 
Havelsan 2454 Sule Dilbaz 2800 Electrical 
------------------------------------ 
Tai 3473 Fethi Oktam 3600 Computer 
------------------------------------ 
Nurol 4973 Ayhan Ak 4100 Civil 
------------------------------------ 
Pfizer 3000 Fusun Ot 2650 Chemical 
------------------------------------ 

これはテキストファイルであり、私はこれがここ

"------------------------------------ " 

を=読みたくないメソッドです:

Scanner scn = null; 
    File fp = new File("C:/Users/Efe/Desktop/engineers.txt"); 
    try { 
    scn = new Scanner(fp); 
    while (scn.hasNextLine()) { 

    { 
    if (!scn.next().equals("------------------------------------")) { 

    String comp = scn.next(); 
    int id = Integer.parseInt(scn.next()); 
    String name = scn.next(); 
    String surname = scn.next(); 
    double sal = Double.parseDouble(scn.next()); 
    String area = scn.next(); 
    Engineer e = new Engineer(comp, id, name, surname, sal, area); 
    list.add(e); 
    } 
    } 
    scn.close(); 
    } 

これは私が例外を取得コードです実行時:

Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: 
    For input string: "Ayse" at 
    java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) 

wrとはコードと一緒に?

答えて

0

アプリケーションが数値型のいずれかに文字列を変換しようとしているが、その文字列に変換するのに適切な形式がある場合です。次のトークンがない破線であれば

あなたがライン

if (!scn.next().equals("------------------------------------")) { 

に...さらに "IBM 7918 AyseのDurlanik 7600コンピュータ" あなたは一つオフにしている

+0

どうすれば編集できますか? – snnlankrdsm

3

を表示することができますそれは失われます。それを一時変数に割り当てることを検討してください。

「IBM」が失われ、comp == 7918およびparseIntが引数「Ayse」で呼び出され、実行時例外が発生します。

関連する問題