gpt4 book ai didi

java - Akka future 指导

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:18:19 27 4
gpt4 key购买 nike

我正在尝试使用 Akka Futures 读取多个文件并将每一行传递给可调用对象。我的可调用对象是特定文件的解析器。所以 people.txt 可能会填充 Person 类型的对象。每行可以包含超过 50 个字段,每个字段都需要验证和操作来填充对象。

所以我想得到类似的东西 Future <Iterable<Person>>返回,但不确定我是如何从中得到的

BufferedReader reader = new BufferedReader(
new InputStreamReader(getInputStream(), "UTF-16"));

while((line = reader.readLine()) != null) {
// call callable here for each line
// PersonParser that implements Callable<Person>
}
reader.close();

我如何构造它以在我 future 的对象中得到它。欢迎任何建议。

谢谢!

最佳答案

使用 Futures.sequence 创建 Future<Iterable<Person>> 的方法来自Iterable<Future<Person>> :

List<Future<Person>> personFutures = new ArrayList<Future<Person>>();
BufferedReader reader =
new BufferedReader(new InputStreamReader(getInputStream(), "UTF-16"));

while((line = reader.readLine()) != null) {
PersonParser parser = new PersonParser(line);
personFutures.add(Futures.future(parser, system.dispatcher()));
}
reader.close();

Future<Iterable<Person>> personsFuture =
Futures.sequence(personFutures, system.dispatcher());

关于java - Akka future 指导,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16245875/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com