最好的方法是什么?我应该使用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”)将数据拆分为一个数组(假设格式为制表符分隔值)。