Java 8 : Stream, NIO 和 Lambda

标签 java lambda java-8 java-stream nio

我有一个包含多行的文件。 每一行都可以转换成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/

相关文章:

java - 如何使用 'ddl-auto=update' 和 'nullable=false' 添加新列

java - 如何使用Annotation创建转换器?

c++ - Boost Lambda/Phoenix - 如何做返回另一个 lambda 的 lambda?

c++ - 如何将 std::function 从 Objective-C++ 传递到 C++ 方法

java - 通过流将 map 列表转换为单个 map

Java 8 : modify specific element in the stream by using lambda expressions

java - 如何为SlingClient编写拦截器

java - 我应该在构造函数中使用 getter 和 setter 吗?

python - 我无法从 tkinter 获取 Entry 的值,最后一个损坏了其他值

java8函数式接口(interface)处理回调