流发布者到java9中的字符串

问题描述 投票:0回答:1

如何从Flow.Publisher<Byte> body中获取字符串?我只想从Publisher中解析字符串。

java rx-java
1个回答
0
投票
通常,您可以收集字节,并在序列完成后将其转换为字符串:

Flow.Publisher<Byte> bytes = ... bytes.subscribe(new Flow.Subscriber<Byte>() { ByteArrayOutputStream bout = new ByteArrayOutputStream(); @Override public void onSubscribe(Flow.Subscription s) { s.request(Long.MAX_VALUE); } @Override public void onNext(Byte t) { bout.write(b); } @Override public void onError(Throwable t) { t.printStackTrace(); } @Override public void onComplete() { try { System.out.println(bout.toString("UTF-8")); } catch (Throwable e) { e.printStackTrace(); } } });

© www.soinside.com 2019 - 2024. All rights reserved.