如何将文件解析为 java 中的对象?

How to parse file to object in java?

我想从file.txt读取数据然后解析到我们的对象

例如我有下面的ferrari.txt,里面有

Car{mark='ferrari', model='sf90', productionYear=2020, hp=1000}

现在我应该将其解析为 Car 对象。

但是我在 google 上找到的所有内容看起来都不像我应该使用的(也许我搜索错误)

添加代码: 主要:

import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Main {

    public static void main(String[] args) {

        Car car1 = new Car("ferrari", "sf90", 2020, 1000);
        Car car2 = new Car("fiat", "panda", 2015, 95);
        Car car3 = new Car("bmw", "m5CS", 2018, 645);
        Car car4 = new Car("audi", "rs7", 2019, 750);
        List<Car> carList = new ArrayList<>(Arrays.asList(car1, car2, car3, car4));
        createCarFile(carList); //method to create the file (not added in the code)
        write(carList); //method to wride the file (not added in the code)

        readFileByMark("ferrari");
}
 public static void readFileByMark(String mark) {
        try {
            BufferedReader bufferedReader = new BufferedReader(new FileReader(mark + ".txt"));
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException exception) {
            exception.printStackTrace();
        }
    }
}

在这段代码中,我正在读取我想在方法中调用的文件名 - 现在我假设插入这段代码我必须执行“解析”?

您无法“解析”该格式。如果在二进制文件中序列化 Car 对象,就可以做到这一点。但是由于您使用的是纯文本文件,因此不可能发生这样的事情。该格式也不是 well-known 格式(例如 JSON)。如果它是 well-known 格式之一,您可以使用许多可用的库之一来为您完成。您可以尝试映射字段,但这并不是那么简单。

我的建议是将格式更改为JSON。它易于理解,使用起来很快,并且有多种库支持它。