2010年5月23日日曜日

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.createFile("SF.JPG")
bis = new BufferedInputStream(new FileInputStream("SF.JPG"))
buf = new byte[1024]
long fo = 0
while((sz = bis.read(buf, 0, 1024)) != -1){
sftpc.write(fh, fo, buf, 0, sz)
fo += sz
}
sftpc.closeFile(fh)

sftpc.close()
conn.close()


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

0 件のコメント:

コメントを投稿