Java读取txt并生成对象
在Java中,我们经常需要从外部文件中读取数据,并将其转换为对象以便进行进一步处理。在本文中,我们将学习如何使用Java读取文本文件并生成对象。
读取文本文件
要读取文本文件,我们可以使用Java的IO包中的FileReader
和BufferedReader
类。首先,我们需要指定要读取的文件的路径。假设我们有一个名为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();
}
}
}
在上面的代码中,我们使用String
的split
方法将每一行按逗号分割成字符串数组。然后,我们从数组中提取姓名和年龄,并将其转换为对应的数据类型。最后,我们使用提取的数据创建一个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读取文本文件并生成对象。我们使用FileReader
和BufferedReader
类来读取文件的内容,并使用split
方法将每一行的数据分割为字符串数组。然后,我们将提取的数据转换为对应的数据类型,并使用它们创建对象。最后,我们可以使用生成的对象进行进一步的处理和分析。
示例代码:[GitHub](