我正在尝试读取一个文件来捕获要使用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);
添加回答
举报
0/150
提交
取消