当前位置: 首页 > 知识库问答 >
问题:

如何在Java中实现从文本到对象的转换

南宫浩皛
2023-03-14
public void loadFromFile() {
    System.out.println("Loading books...");
    FileInputStream fileInput = null;
    try {
        fileInput = new FileInputStream("books.txt");
        Scanner sc = new Scanner(fileInput);
        if (sc.hasNext()) {
            System.out.format("%-5s %-45s %-10s", "Id", "Name", "Price");
            System.out.println();
            while (sc.hasNextLine()) {

                System.out.println(sc.nextLine());

            }
        } else {
            System.out.println("(empty)");
        }

    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        System.err.println("File not found");
    } finally {
        try {
            fileInput.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    // TODO: your code here
}

我有一个。txt文件,要求一个程序读取它并将其解析为Object。每一行都是一个对象,包括属性id、name和price

如何将文本解析为对象

共有1个答案

刘翔宇
2023-03-14
public static final class Book {

    private int id;
    private String name;
    private double price;

}

public static void main(String... args) throws FileNotFoundException {
    List<Book> books = readMovies(new File("a.txt"));
}

private static List<Book> readMovies(File file) throws FileNotFoundException {
    try (Scanner scan = new Scanner(file)) {
        scan.useLocale(Locale.ENGLISH);

        List<Book> books = new ArrayList<>();

        while (scan.hasNext()) {
            Book book = new Book();
            book.id = scan.nextInt();

            String line = scan.nextLine().trim();
            int pos = line.indexOf("  ");
            book.name = line.substring(0, pos).trim();
            book.price = Double.parseDouble(line.substring(pos + 1).trim());
            books.add(book);
        }

        return books;
    }
}
 类似资料:
  • 所以我再次提出这个问题,希望能从大家那里有更好的解释和指导… 在执行所提出的解决方案时,我遇到的问题很少: 1)根据Jonathan Feinberg提出的答案,需要安装JAI和JAI/imageIO,但在安装了这两个文件后,仍然无法导入NetBean7.2中的文件。NetBean7.2仍然建议导入默认的imageIO库。 3)我也尝试了其他方法,例如使用BufferedOutputStream方

  • 问题内容: 指针是仅用于实现Java参考变量还是实际上如何实现?以下是Java语言规范中的代码行 4.3.1对象对象是类实例或数组。引用值(通常只是引用)是指向这些对象的指针,还有一个特殊的空引用,它不引用任何对象。 这是否意味着一直都是指针? 问题答案: 在现代JVM中,引用被实现为地址。 回到HotSpot的第一个版本(对于“经典VM”来说更早一些),引用被实现为句柄。那是指向指针的固定指针。

  • 我想将json值转换为java中的ArrayList对象。。。。,我有: //模型 //和方法 我正在使用org。json

  • 问题内容: 我将直接从问题开始,稍后再提供更多背景信息。 简单 :我有一个,它代表一个特定的对象。将其转换为该对象的最佳方法是什么? 我知道您可以使用泛型来遍历所有元素并设置字段,但是什么是嵌套对象呢? 背景 :我有一个使用JSON对象的JAX- RS服务。我的服务处理不同类型的对象,仅代表一个接口。因此,我不知道哪些对象来自外部以及哪个程序正在使用我的服务。 在运行时,我通过界面上的信息。JAX

  • 我有这样一个实体对象: 现在我有一张这样的地图:

  • 如何将对象转换为