2013-08-23 49 views
3

我有一個問題,當我從Jsch使用Shell輸入包含符號'@'的地址時,Inputstream似乎無法讀取此符號並自動刪除它前面的字符,像'oracle @ abc'會顯示在'abc'中,這裏是代碼java Inputstream不能顯示@

 String in="scp [email protected]:/tempuse/prodexp/sample.dmp ./"; 
     ByteArrayInputStream is = new ByteArrayInputStream(in.getBytes("UTF-8")); 
     channel.setInputStream(is); 
     channel.setOutputStream(System.out); 
+1

用單引號括起URL可能有助於:''[email protected]:/ tempuse/prodexp/sample.dmp'',如果這將被shell解釋。單引號可防止對命令行參數進行任何進一步處理,@可能具有特殊含義。 –

回答

0

剛剛創建了答案。 此問題是由於at符號是用於在HP UX或許多其他UNIX LINUX系統中刪除行的默認終端命令。 當你輸入stty -a你會看到所有的人。以供參考下面的鏈接將幫助 the answer I founded