2010年6月8日火曜日

groovyとGanymed SSH-2/Orion SSH2を使用してSFTPでファイルをダウンロードする

groovyとGanymed SSH-2/Orion SSH2を使用してSFTPでファイルをダウンロードするには、以下のコードを実行します。

// Ganymed SSH-2の場合
// (http://www.cleondris.ch/opensource/ssh2/)
//import ch.ethz.ssh2.*
// Orion SSH2の場合
// (http://sourceforge.net/apps/mediawiki/orion-ssh2/index.php?title=Main_Page)
import com.trilead.ssh2.*

host = "192.168.1.100"
username = "user"
password = "password"

// サーバに接続
conn = new Connection(host)
conn.connect()
if( !conn.authenticateWithPassword(username, password) ){
throw new Exception("authentication failed.")
}

// SFTP client作成
sftpc = new SFTPv3Client(conn)
sftpc.setCharset("UTF-8")

// ファイルをダウンロード
fh = sftpc.openFileRO("SF.JPG")
bos = new BufferedOutputStream(new FileOutputStream("download.JPG"))
buf = new byte[1024]
long fo = 0
while((sz = sftpc.read(fh, fo, buf, 0, 1024)) != -1){
bos.write(buf, 0, sz)
fo += sz
}
sftpc.closeFile(fh)
bos.flush()
bos.close()

sftpc.close()
conn.close()


動作環境
groovy 1.7.1, JDK6 Update19, ganymed-ssh2-build250, orion-ssh2-214rc1
○関連項目

0 件のコメント:

コメントを投稿