-3
/**
 * @(#)b.java
 *
 *
 * @author
 * @version 1.00 2012/5/4
 */
import java.util.*;
import java.io.*;
import java.*;

public class b {


static void lireBddParcs(String nomFichier) throws IOException
{
    LinkedHashMap parcMap = new LinkedHashMap<Parc,Collection<Manege>> ();


    int n = 0;
    boolean existeFichier = true;

    FileReader fr = null;

    try
    {
        fr = new FileReader (nomFichier);
    }

    catch(java.io.FileNotFoundException erreur)
    {
        System.out.println("Probleme rencontree a l'ouverture du fichier" + nomFichier);
        existeFichier = false;
    }

    if (existeFichier)
    {
        BufferedReader entree = new BufferedReader(fr);
        boolean finFichier = false;

              while(!finFichier)
              {
               String[] line = entree.readLine().split("/t");;
               Parc p = new Parc(line[0], line[1], line[2]);


                  if (line == null)
                  {
                      finFichier = true ;
                  }

                  else
                  {
                      parcMap.put(p, null);
                  }

              }
                  entree.close();

    }


}


    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)
    {
      lireBddParcs("parcs.txt");

    }
}

这是文本文件的内容

Great America   Chicago Illinois
Magic mountain  Los Ageles  Californie
Six Flags over Georgia  Atlanta Georgie
Darien Lake Buffalo New York
La Ronde    Montreal    Quebec
The Great Escape    Lake Georges    New York
Six Flags New Orleans   New Orleans Louisiane
Elitch Gardens  Denver  Colorado
Six Flags over Texas    Arlington   Texas
Six Flags New England   Springfield Massachusetts
Six Flags America   Washington  D.C.
Great Adventure Jackson New Jersey

这是我得到的错误:

error: unreported exception IOException; must be caught or declared to be thrown
4

2 回答 2

2

您的方法lireBddParcs被声明为抛出一个IOException,因此您的代码无法编译,因为您的main方法没有处理它。出于您的目的,您可能会发现将其添加throwsmain方法中最简单:

public static void main(String[] args) throws IOException { ... }

或者,您可以lireBddParcstry/catch语句包围调用并在某处记录异常。

于 2012-05-04T19:59:00.287 回答
1

java.io.IOException是一个检查异常,这意味着如果你调用任何声明 throws 的方法IOException,你必须要么捕获异常,要么在你的方法定义中声明它。

希望本教程可以帮助:http ://docs.oracle.com/javase/tutorial/essential/io/

于 2012-05-04T19:59:39.850 回答