Java JSch ssh响应中的转义码/随机字符

Java JSch ssh响应中的转义码/随机字符,java,character-encoding,jsch,Java,Character Encoding,Jsch,我正在使用JSch以ssh方式连接到Linux服务器,并运行一个自定义实用程序,并用java代码检查响应。我看到一些随机字符作为回应。检查腻子时,同样的外观很好 private String logResponse(Channel channel, InputStream in) throws IOException { byte[] tmp = new byte[1024]; while (true) { while (in.available() > 0

我正在使用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, 0, 1024);
            if (i < 0)
                break;
            return new String(tmp, 0, i);
        }
        if (channel.isClosed()) {
            break;
        }
    }
    return "";
}
private String logResponse(通道通道,输入流输入)引发IOException{
字节[]tmp=新字节[1024];
while(true){
while(in.available()>0){
inti=in.read(tmp,0,1024);
if(i<0)
打破
返回新字符串(tmp,0,i);
}
if(channel.isClosed()){
打破
}
}
返回“”;
}
使用上述方法打印响应(删除部分文本)

如果在后续方法中使用或在文件中打印,它将显示不同的随机字符。


可能是因为编码吗?请建议是否可以调整上述方法。非常感谢。

我正在使用exec频道,还有提示。添加了一个正则表达式来替换转义码,现在它是可读的

text.replaceAll("(\\x9B|\\x1B\\[)[0-?]*[ -\\/]*[@-~]", "");

看起来像是转义码。@MartinPrikryl谢谢你的建议。我正在使用exec通道,并且还有提示。添加了一个正则表达式来替换转义码,现在它是可读的<代码>文本.replaceAll(“(\\x9B|\\x1B\\\[)[0-?]*[-\/]*[@-~]”,“”);