假设有一个txt文件每行有两个参数中间有n个空格隔开怎么用Java代码读出来映射到实体类中
时间: 2024-09-14 14:16:31 浏览: 39
假设你的实体类(如`Person`)有这样的结构:
```java
public class Person {
private String name;
private int age;
// getters and setters...
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
}
```
你可以使用Java的`BufferedReader`和`split()`方法来逐行读取并解析这个txt文件。下面是一个简单的示例:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) {
try {
BufferedReader reader = new BufferedReader(new FileReader("file.txt")); // 替换为你的txt文件路径
String line;
while ((line = reader.readLine()) != null) {
String[] data = line.split("\\s{1," + n + "}"); // 使用正则表达式匹配n个空格分隔的字段
if (data.length == 2) {
Person person = new Person();
person.setName(data[0]);
person.setAge(Integer.parseInt(data[1])); // 将字符串转换为整数
// 现在person对象已经包含了从文本中读取的数据
// 进一步处理或存储person实例
} else {
System.out.println("Invalid data format on line: " + line);
}
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个例子中,我们假设`n`是已知的空格数量。如果txt文件中的数据格式始终正确(即总是两个值由n个空格分开),那么程序将按行读取并创建`Person`对象。
阅读全文