21xrx.com
2024-12-23 00:05:01 Monday
登录
文章检索 我的文章 写文章
Java文件读取之创建对象
2023-06-14 11:26:28 深夜i     --     --
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对象的信息。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复