Java 解析多行文件

Java 解析多行文件,java,Java,Ive可解析多行文件,结构如下: Name Surname birthdate(int) Name Surname birthdate(int) 等等。我打开了文件,得到了一个ArrayList,并创建了一个用作数据结构的类,但我不知道如何解析每个字符串,识别它是数字还是名称。你能帮我吗?我想,这是最主要的问题: 我不知道如何解析每个字符串,识别它是否是一个数字 或者一个名字 使用isNumeric函数查看是否可以将值解析为数字或将其保留为字符串。然后根据函数返回的值对其进行解析 public

Ive可解析多行文件,结构如下:

Name Surname
birthdate(int)
Name Surname
birthdate(int)

等等。我打开了文件,得到了一个ArrayList,并创建了一个用作数据结构的类,但我不知道如何解析每个字符串,识别它是数字还是名称。你能帮我吗?

我想,这是最主要的问题:

我不知道如何解析每个字符串,识别它是否是一个数字 或者一个名字

使用isNumeric函数查看是否可以将值解析为数字或将其保留为字符串。然后根据函数返回的值对其进行解析

public static boolean isNumeric(String str) {  
   try {  
      double d = Double.parseDouble(str);  
   } catch(NumberFormatException nfe) {  
      return false;  
   }  
   return true;  
}

您可以使用类来读取文件

如果您知道输入数据的结构,那么它有助手方法来读取各种类型的输入,我假设您知道它的结构

    Scanner s = new Scanner(new File("input.txt"));

    while(s.hasNext()) {
        System.out.println("First Name : " + s.next() + ", Last Name : " + s.next() + ", Age : " +s.nextInt());
    }
    s.close();
下面是一个示例代码,可以帮助您从具有给定结构的文件中读取它

    Scanner s = new Scanner(new File("input.txt"));

    while(s.hasNext()) {
        System.out.println("First Name : " + s.next() + ", Last Name : " + s.next() + ", Age : " +s.nextInt());
    }
    s.close();
您可以创建一个具有firstName、lastName和age属性的类,并将上述值指定给新对象,然后将该对象添加到列表中


希望这能有所帮助。

该文件正好包含此内容,或者只是一个表示?这只是一个表示。姓名、姓氏和生日保留不同的姓名、姓氏和生日。使用正则表达式检查是否匹配,例如,如果表达式匹配,则birthdate\d+应捕获组中的数字,然后您只需解析它。此外,您知道文件的结构,因此必须提出解析逻辑。因为你的问题很模糊,所以很难帮助你。@Thomas-他的b-date是int-value。请出示代码