我试图用jsch做的就是执行
stat -c %s /directory/file.ext
...它可以从命令行按预期工作。现在我知道我的所有ssh / reader / jsch代码都运行正常,因为我使用完全相同的代码使用一系列命令来收集目录和文件后用正确的.ext搜索出来的东西。
事实上,我们正在使用JCraft的东西来处理我们正在构建的另一个测试工具。我可以做ls,cd,find,grep,echo等。没问题。然而,一旦我开始做stat,它就会弹出来。现在我正在使用
String line = bufferedReader.readLine();
...所以我认为默认情况下stat可能没有换行符的换行符,但是,如果没有换行符,它就不会挂在readline()方法上。
所有SSH连接的东西都在工作,没有例外,没有任何东西。它连接,执行命令,只返回任何内容。
cExec.setCommand(command);
InputStream commandOutput = channel.getInputStream();
cExec.connect( timeoutInSecs * 1000 );
BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(commandOutput, "UTF-8") );
String line = bufferedReader.readLine();
其中channel是jcraft对象,是其库的一部分。