Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 解析文本文件以填充哈希映射_Java_File_Parsing_Hashmap_Text Files - Fatal编程技术网

Java 解析文本文件以填充哈希映射

Java 解析文本文件以填充哈希映射,java,file,parsing,hashmap,text-files,Java,File,Parsing,Hashmap,Text Files,下面是我得到的错误: 错误:未报告的异常IOException;必须被抓住或宣布被抛出 您的方法lireBddParcs被声明为抛出一个IOException,因此您的代码不会编译,因为您的main方法没有处理它。出于您的目的,您可能会发现将抛出的添加到main方法也是最简单的: /** * @(#)b.java * * * @author * @version 1.00 2012/5/4 */ import java.util.*; import java.io.*; import

下面是我得到的错误:

错误:未报告的异常IOException;必须被抓住或宣布被抛出

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

/**
 * @(#)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");

    }
}

或者,您可以使用
try/catch
语句包围对
lireBddParcs
的调用,并将异常记录在某个地方。

java.io.IOException
是选中的异常,这意味着如果您调用任何声明抛出
IOException
的方法,您必须捕获异常或在方法定义中声明它


希望本教程能有所帮助:

线程“main”java.lang.ArrayIndexOutOfBoundsException中的异常:1在b.lirebdParcs(b.java:54)在b.main(b.java:101)因此
split
没有返回至少包含3个元素的数组。那么你应该试着去理解为什么。显然,您使用“/t”作为分隔符。我猜您是指线程“main”java.lang.NullPointerException中的“\t”.Exception在b.main(b.java:101)中的b.lireBddParcs(b.java:53)在b.main(b.java:101)在检查它是否为Null之前,您将在文件末尾得到一个npe,因为您使用了“line”?我试了些东西,但没用。
public static void main(String[] args) throws IOException { ... }