从ftp服务器读取可观察对象列表时遇到问题。这是我的代码:
public RxJavaProcessor<byte[], String> processor() {
/*
* return inputStream -> inputStream.map(data -> { logger.info("Got data = " +
* data); return data; }).buffer(10, 10, TimeUnit.SECONDS).map(data ->
* processData(data));
*/
return inputStream -> inputStream.map(data -> {
logger.info("Got data = " + data);
return data;
}).buffer(10, 10, TimeUnit.SECONDS).collect(ByteArrayOutputStream::new, (bout, bytes) -> {
bytes.forEach(byteItem -> {
bout.write(byteItem, 0, byteItem.length);
});
}).map(bout -> {
byte[] byteArray = bout.toByteArray();
try {
logger.info("byte array to string: " + new String(byteArray, "UTF-8"));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return byteArray;
}).map(data -> processData(data));
}
如果我在日志中输入 collect 运算符内部的字节数组,如下所示:
logger.info(“字符串的字节数组:” +新的String(byteItem,“ UTF-8”)) 。我看到的结果是输入xml。但是当我在 map 中写日志时,如上面的代码所示 logger.info(“字符串的字节数组:” +新的String(byteArray,“ UTF-8”)) 我看不到任何结果,那是什么问题?
预先感谢您的帮助。