21xrx.com
2025-03-21 14:30:31 Friday
文章检索 我的文章 写文章
Java文件读取之创建对象
2023-06-14 11:26:28 深夜i     10     0
Java 文件读取 对象创建

在Java编程中,经常需要从文件中读取数据,然后创建对象使用。那么在Java中如何从文件中读取数据并创建对象呢?

下面我们来看一个案例,假设有一个Student类,它有两个属性:name和age。现在我们有一个文件,其中存储了多行数据,每行数据格式为“name,age”。我们需要从文件中读取每行数据,并创建一个对应的Student对象。

先看一下文件数据的样式:

Tom,20
Bob,21
Lily,19

代码实现如下:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class FileToObject {
  public static void main(String[] args) {
    File file = new File("input.txt");
    List
  list = readDataFromFile(file);
 
    for(Student student : list) {
      System.out.println(student);
    }
  }
  private static List
  readDataFromFile(File file) {
 
    List
  list = new ArrayList<>();
 
    try (BufferedReader br = new BufferedReader(new FileReader(file))) {
      String line;
      while ((line = br.readLine()) != null) {
        String[] data = line.split(",");
        String name = data[0];
        int age = Integer.parseInt(data[1]);
        list.add(new Student(name, age));
      }
    } catch (IOException e) {
      e.printStackTrace();
    }
    return list;
  }
}
class Student{
  private String name;
  private int age;
  public Student(String name, int age) {
    this.name = name;
    this.age = age;
  }
  @Override
  public String toString() {
    return "Student{" +
        "name='" + name + '\'' +
        ", age=" + age +
        '}';
  }
}

代码解释:

- 首先我们创建了一个File对象,用于表示我们要读取的文件。

- 然后我们新建了一个List,用于存储读取出来的Student对象。

- 紧接着,我们调用readDataFromFile方法读取文件中的数据。

- 在readDataFromFile方法中,我们使用BufferedReader按行读取文件中的数据。

- 对于每一行数据,我们使用split方法将其分割成name和age两个字符串数组。

- 然后我们将字符串类型的age转换成int类型并且使用new关键字创建Student对象,最后将Student对象添加到List中。

- 最后我们遍历List,打印出每一个Student对象的信息。

  
  

评论区