为了账号安全,请及时绑定邮箱和手机立即绑定

Java 8 从输入文件流式传输多个对象创建

Java 8 从输入文件流式传输多个对象创建

繁花如伊 2022-08-03 10:55:27
我正在尝试读取一个文件来捕获要使用Java 8流传递给对象的参数。文件格式为:10 AA15 BB20 毫升必须创建与行数相同的对象数,对象采用这些参数。例如,对象 a = 新对象(10 , AA)。该文件将始终最多包含 3 行。我已经阅读了文件,检查它是否以数字开头,将其拆分为新行,并将每行放在字符串列表中[ ]。     List<String[]> input = new ArrayList<>();        try {          input =  Files.lines(Paths.get("C:\\Users\\ubaid\\IntelliJ Workspace\\Bakery\\input.txt")).                    filter(lines->Character.isDigit(lines.trim().charAt(0))).map(x-> x.split("\\r?\\n")).collect(Collectors.toList());        } catch (IOException e) {            e.printStackTrace();        }        for(String a[] : input){            for(String s : a){                System.out.println(s);            }        }
查看完整描述

1 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

假设您有:


public class Type {

  private int number;

  private String text;

  // constructor and other methods

}

并且该文件格式正确:


List<Type> objs = Files.lines(path)

    .map(s -> s.split(" "))

    .map(arr -> new Type(Integer.parseInt(arr[0]), arr[1]))

    .collect(Collectors.toList());

System.out.println(objs);


查看完整回答
反对 回复 2022-08-03
  • 1 回答
  • 0 关注
  • 122 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信