如何解决JSch ssh响应中的转义码/随机字符
我正在使用JSch SSH到Linux服务器并运行自定义实用程序并检查Java代码中的响应。我看到一些随机字符作为回应。签入腻子时看起来也一样。
private String logResponse(Channel channel,InputStream in) throws IOException {
byte[] tmp = new byte[1024];
while (true) {
while (in.available() > 0) {
int i = in.read(tmp,1024);
if (i < 0)
break;
return new String(tmp,i);
}
if (channel.isClosed()) {
break;
}
}
return "";
}
如果在后续方法中使用或打印在文件中,它将显示不同的随机字符。
可能是由于编码造成的吗?请建议是否可以调整以上方法。非常感谢。
解决方法
我正在使用exec通道,并且也有提示。添加了一个正则表达式来替换转义码,现在可以读取了。
text.replaceAll("(\\x9B|\\x1B\\[)[0-?]*[ -\\/]*[@-~]","");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。