java读取txt并生成对象

独兜曲

关注

阅读 70

2023-07-17

Java读取txt并生成对象

在Java中,我们经常需要从外部文件中读取数据,并将其转换为对象以便进行进一步处理。在本文中,我们将学习如何使用Java读取文本文件并生成对象。

读取文本文件

要读取文本文件,我们可以使用Java的IO包中的FileReaderBufferedReader类。首先,我们需要指定要读取的文件的路径。假设我们有一个名为data.txt的文本文件,它包含以下内容:

John,Smith,25
Alice,Johnson,30
Bob,Williams,35

我们可以使用以下代码来读取文件:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class FileReadExample {
    public static void main(String[] args) {
        String filePath = "data.txt";
        try {
            FileReader fileReader = new FileReader(filePath);
            BufferedReader bufferedReader = new BufferedReader(fileReader);

            String line;
            while ((line = bufferedReader.readLine()) != null) {
                // 处理每一行的数据
            }

            bufferedReader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这个例子中,我们首先创建一个FileReader对象,然后将其传递给BufferedReader对象。BufferedReader类提供了一个readLine方法,它可以读取文件的每一行。我们使用一个while循环来读取文件的每一行,直到文件的末尾。

生成对象

在读取文件的每一行之后,我们需要将数据转换为对象。假设我们的文件中的每一行都表示一个人员,并包含姓名、姓氏和年龄。我们可以创建一个Person类来表示这些数据:

public class Person {
    private String firstName;
    private String lastName;
    private int age;

    public Person(String firstName, String lastName, int age) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.age = age;
    }

    // Getters and setters
}

我们可以使用以下代码将文件的每一行转换为Person对象,并存储在一个列表中:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class FileReadExample {
    public static void main(String[] args) {
        String filePath = "data.txt";
        List<Person> persons = new ArrayList<>();

        try {
            FileReader fileReader = new FileReader(filePath);
            BufferedReader bufferedReader = new BufferedReader(fileReader);

            String line;
            while ((line = bufferedReader.readLine()) != null) {
                String[] data = line.split(",");

                String firstName = data[0];
                String lastName = data[1];
                int age = Integer.parseInt(data[2]);

                Person person = new Person(firstName, lastName, age);
                persons.add(person);
            }

            bufferedReader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的代码中,我们使用Stringsplit方法将每一行按逗号分割成字符串数组。然后,我们从数组中提取姓名和年龄,并将其转换为对应的数据类型。最后,我们使用提取的数据创建一个Person对象,并将其添加到persons列表中。

使用生成的对象

现在,我们已经成功地从文件中读取并生成了Person对象。我们可以通过遍历persons列表来访问每个对象的属性:

for (Person person : persons) {
    System.out.println("Name: " + person.getFirstName() + " " + person.getLastName());
    System.out.println("Age: " + person.getAge());
    System.out.println();
}

以上代码将打印每个人员的姓名和年龄。

总结

在本文中,我们学习了如何使用Java读取文本文件并生成对象。我们使用FileReaderBufferedReader类来读取文件的内容,并使用split方法将每一行的数据分割为字符串数组。然后,我们将提取的数据转换为对应的数据类型,并使用它们创建对象。最后,我们可以使用生成的对象进行进一步的处理和分析。

示例代码:[GitHub](

精彩评论(0)

0 0 举报