簡體   English   中英

Java File read有什么問題?

[英]What is wrong with Java File read?

我處理文件問題。

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)

代碼有什么問題?

你一個人...排隊

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

如果下一個令牌不是虛線,那么它將丟失。 考慮將其分配給一個臨時變量。

在您的情況下,“ IBM”丟失, comp == 7918 ,並且使用參數“ Ayse”調用parseInt ,從而導致運行時異常。

這是當應用程序嘗試將字符串轉換為數字類型之一,但該字符串確實具有適當的格式進行轉換時。

您可以進一步顯示“ IBM 7918 Ayse Durlanik 7600計算機”嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM