我有一个包含多行的文件。 每一行都可以转换成JSONObject。
示例行,
{"name": "a", "age": 28}
{"name": "b", "age": 20}
{"name": "c", "age": 30}
我正在使用新的 IO 读取这个文件
Files.lines(path)
我想使用流并将每一行转换为 JSONObject 之类的,
JSONObject obj = new JSONObject(line);
我不知道如何使用流和 lambda。有什么办法吗?
最佳答案
使用Stream#map
,例子:
List<JSONObject> result;
try (Stream<String> stream = Files.lines(Paths.get(fileName))) {
result = stream.map(line -> new JSONObject(line)) // or map(JSONObject::new)
.collect(Collectors.toList());
} catch (IOException e) { /* handle exception */}
关于Java 8 : Stream, NIO 和 Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53928262/