上篇講了ftp亂碼問題,好不湊巧又要sftp,關鍵是sftp又是亂碼,不過還好有我們偉大的程式設計師。直接上**
jsch jsch = new jsch();
session sshsession = jsch.getsession(config.getftpusername(), config.getftphost(), config.getftpport());
sshsession.setpassword(config.getftppassport());
properties sshconfig = new properties();
sshconfig.put("stricthostkeychecking", "no");
sshsession.setconfig(sshconfig);
sshsession.connect();
channelsftp channel = (channelsftp) sshsession.openchannel("sftp");
channel.connect();
class cl = channelsftp.class;
field f =cl.getdeclaredfield("server_version");
f.setaccessible(true);
f.set(channel, 2);
channel.setfilenameencoding("utf-8");
使用反射修改channelsftp的服務版本,然後設定編碼為utf-8,一切就美好了。
什麼?不想修改?那你看看機智的idea給你返回的什麼吧:
the encoding can not be changed for this sftp server。
當天如果你想看看你的服務版本是什麼可以使用:channel.getserverversion(). 下標處理問題
下標處理問題 主要是針對於插入排序演算法寫的程式,其他情況可以借鑑這些思路。數學上或者通常意義上,下標都是從1開始的,但是在多數程式語言裡面陣列下標都是從0開始的,這就很惱火了,簡單乙個下標處理起來卻異常麻煩!請看 例如 1 典型的陣列下標越界問題 假設有個陣列 a 0 a 1 我們要用插入法排序,...
ORACLE 異常處理問題處理
create or replace procedure pro people as begin select per id into v per id from people where id i id exception when no data found then v per id 1 whe...
請求處理問題 收藏
問題描述 說有一台機器,上面有m個儲存空間。然後有n個請求,第i個請求計算時需要佔r i 個空間,儲存計算結果則需要佔據o i 個空間 其中 o i 題解 假設可以滿足所有請求,並且處理請求的順序是 r1,r2,r n 1 r n 那麼儲存完所有的請求結果後,剩餘的儲存空間為l m o i 如果假設...