java - 读取值由空格分隔的多行文本

标签 java string parsing

我有以下测试文件:

Jon Smith 1980-01-01
Matt Walker 1990-05-12

解析此文件每一行的最佳方法是什么,用 (name, surname, birthdate) 创建对象?当然这只是一个例子,真正的文件有很多记录。

最佳答案

 import java.io.*;
 class Record
{
   String first;
   String last;
   String date;

  public Record(String first, String last, String date){
       this.first = first;
       this.last = last;
       this.date = date;
  }

  public static void main(String args[]){
   try{
    FileInputStream fstream = new FileInputStream("textfile.txt");
    DataInputStream in = new DataInputStream(fstream);
    BufferedReader br = new BufferedReader(new InputStreamReader(in));
    String strLine;
    while ((strLine = br.readLine()) != null)   {
       String[] tokens = strLine.split(" ");
       Record record = new Record(tokens[0],tokens[1],tokens[2]);//process record , etc
    }
    in.close();
    } catch (Exception e){
      System.err.println("Error: " + e.getMessage());
    }
 }
}

关于java - 读取值由空格分隔的多行文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4008905/

相关文章:

android - 连接两个字符串

python - 如何从我的字符串中检索子字符串?

parsing - Chomsky 1 型解析器生成器可能吗?

java - 为什么 java.sql.Time.toString() 会增加小时数?

java - 从 Void 转换,将任何类型存储在 Map 中

java - 如何将字符串转换为日期 Java

javascript - 无法删除具有空值的 JSON 项目

java - 使用 DOM 进行 XML 解析

java - DisplayTag:即使没有要显示的数据也显示标题

java - 是否有准备好使用 Java lifo 类(堆栈)并在重新插入时推到前面?