最好的方法是什么?我应该使用File类和扫描仪吗?我以前从未做过,而且似乎也找不到在线的可靠指南,因此我想在这里问一下。

编辑:
我正在解析的文本文件是3列,前三列是ID NAME BIRTHDATE,然后是实际数据。

编辑(来自pastie的代码):

public void readFromFile(File file )
{
    try
    {
        System.out.println("success..");
        s = new Scanner(file);
        BufferedReader input = new BufferedReader(new FileReader(file));
        String jj = null;
        while((jj = input.readLine())!=null)
        {
            String [] words = jj.split("\\t");
            String name = "";
            String id = "";
            String birthdate ="";
            for (int i = 3; i<words.length; i+=3)
            {
                id =words[i];
                name = words[i+1];
                birthdate=words[i+2];
                Person p = new Person(id, name, birthdate);
                peopleMap.put(p.id,p);
                names.add(p);
                System.out.println("New entry added to file: "+name+"\\t"+"ID: "
                                    +id+"\\t"+"Birthdate"+birthdate);
            }
        }
    }

    catch(IOException e)
    {
    }
}

最佳答案

最简单的方法取决于文本文件的格式。从您的其他评论看来,这些行是制表符分隔的值。作为初学者,您可能会发现使用Scanner最简单。具体来说,就是Scanner.nextLine()。结合使用String.split(“ \ t”)将数据拆分为一个数组(假设格式为制表符分隔值)。

10-07 15:05