{"id":487,"date":"2014-12-18T23:54:08","date_gmt":"2014-12-19T08:54:08","guid":{"rendered":"http:\/\/blog.box.kr\/?p=487"},"modified":"2014-12-18T23:54:08","modified_gmt":"2014-12-19T08:54:08","slug":"send-file-sftp-java-example","status":"publish","type":"post","link":"https:\/\/blog.box.kr\/?p=487","title":{"rendered":"send file sftp java example"},"content":{"rendered":"<pre class=\"lang-java prettyprint prettyprinted\"><code><span class=\"kwd\">public<\/span>  <span class=\"kwd\">void<\/span><span class=\"pln\"> send <\/span><span class=\"pun\">(<\/span><span class=\"typ\">String<\/span><span class=\"pln\"> fileName<\/span><span class=\"pun\">)<\/span> <span class=\"pun\">{<\/span>\n        <span class=\"typ\">String<\/span><span class=\"pln\"> SFTPHOST <\/span><span class=\"pun\">=<\/span> <span class=\"str\">\"host:IP\"<\/span><span class=\"pun\">;<\/span>\n        <span class=\"kwd\">int<\/span><span class=\"pln\"> SFTPPORT <\/span><span class=\"pun\">=<\/span> <span class=\"lit\">22<\/span><span class=\"pun\">;<\/span>\n        <span class=\"typ\">String<\/span><span class=\"pln\"> SFTPUSER <\/span><span class=\"pun\">=<\/span> <span class=\"str\">\"username\"<\/span><span class=\"pun\">;<\/span>\n        <span class=\"typ\">String<\/span><span class=\"pln\"> SFTPPASS <\/span><span class=\"pun\">=<\/span> <span class=\"str\">\"password\"<\/span><span class=\"pun\">;<\/span>\n        <span class=\"typ\">String<\/span><span class=\"pln\"> SFTPWORKINGDIR <\/span><span class=\"pun\">=<\/span> <span class=\"str\">\"file\/to\/transfer\"<\/span><span class=\"pun\">;<\/span>\n\n        <span class=\"typ\">Session<\/span><span class=\"pln\"> session <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">null<\/span><span class=\"pun\">;<\/span>\n        <span class=\"typ\">Channel<\/span><span class=\"pln\"> channel <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">null<\/span><span class=\"pun\">;<\/span>\n        <span class=\"typ\">ChannelSftp<\/span><span class=\"pln\"> channelSftp <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">null<\/span><span class=\"pun\">;<\/span>\n        <span class=\"typ\">System<\/span><span class=\"pun\">.<\/span><span class=\"pln\">out<\/span><span class=\"pun\">.<\/span><span class=\"pln\">println<\/span><span class=\"pun\">(<\/span><span class=\"str\">\"preparing the host information for sftp.\"<\/span><span class=\"pun\">);<\/span>\n        <span class=\"kwd\">try<\/span> <span class=\"pun\">{<\/span>\n            <span class=\"typ\">JSch<\/span><span class=\"pln\"> jsch <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">new<\/span> <span class=\"typ\">JSch<\/span><span class=\"pun\">();<\/span><span class=\"pln\">\n            session <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> jsch<\/span><span class=\"pun\">.<\/span><span class=\"pln\">getSession<\/span><span class=\"pun\">(<\/span><span class=\"pln\">SFTPUSER<\/span><span class=\"pun\">,<\/span><span class=\"pln\"> SFTPHOST<\/span><span class=\"pun\">,<\/span><span class=\"pln\"> SFTPPORT<\/span><span class=\"pun\">);<\/span><span class=\"pln\">\n            session<\/span><span class=\"pun\">.<\/span><span class=\"pln\">setPassword<\/span><span class=\"pun\">(<\/span><span class=\"pln\">SFTPPASS<\/span><span class=\"pun\">);<\/span><span class=\"pln\">\n            java<\/span><span class=\"pun\">.<\/span><span class=\"pln\">util<\/span><span class=\"pun\">.<\/span><span class=\"typ\">Properties<\/span><span class=\"pln\"> config <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">new<\/span><span class=\"pln\"> java<\/span><span class=\"pun\">.<\/span><span class=\"pln\">util<\/span><span class=\"pun\">.<\/span><span class=\"typ\">Properties<\/span><span class=\"pun\">();<\/span><span class=\"pln\">\n            config<\/span><span class=\"pun\">.<\/span><span class=\"pln\">put<\/span><span class=\"pun\">(<\/span><span class=\"str\">\"StrictHostKeyChecking\"<\/span><span class=\"pun\">,<\/span> <span class=\"str\">\"no\"<\/span><span class=\"pun\">);<\/span><span class=\"pln\">\n            session<\/span><span class=\"pun\">.<\/span><span class=\"pln\">setConfig<\/span><span class=\"pun\">(<\/span><span class=\"pln\">config<\/span><span class=\"pun\">);<\/span><span class=\"pln\">\n            session<\/span><span class=\"pun\">.<\/span><span class=\"pln\">connect<\/span><span class=\"pun\">();<\/span>\n            <span class=\"typ\">System<\/span><span class=\"pun\">.<\/span><span class=\"pln\">out<\/span><span class=\"pun\">.<\/span><span class=\"pln\">println<\/span><span class=\"pun\">(<\/span><span class=\"str\">\"Host connected.\"<\/span><span class=\"pun\">);<\/span><span class=\"pln\">\n            channel <\/span><span class=\"pun\">=<\/span><span class=\"pln\"> session<\/span><span class=\"pun\">.<\/span><span class=\"pln\">openChannel<\/span><span class=\"pun\">(<\/span><span class=\"str\">\"sftp\"<\/span><span class=\"pun\">);<\/span><span class=\"pln\">\n            channel<\/span><span class=\"pun\">.<\/span><span class=\"pln\">connect<\/span><span class=\"pun\">();<\/span>\n            <span class=\"typ\">System<\/span><span class=\"pun\">.<\/span><span class=\"pln\">out<\/span><span class=\"pun\">.<\/span><span class=\"pln\">println<\/span><span class=\"pun\">(<\/span><span class=\"str\">\"sftp channel opened and connected.\"<\/span><span class=\"pun\">);<\/span><span class=\"pln\">\n            channelSftp <\/span><span class=\"pun\">=<\/span> <span class=\"pun\">(<\/span><span class=\"typ\">ChannelSftp<\/span><span class=\"pun\">)<\/span><span class=\"pln\"> channel<\/span><span class=\"pun\">;<\/span><span class=\"pln\">\n            channelSftp<\/span><span class=\"pun\">.<\/span><span class=\"pln\">cd<\/span><span class=\"pun\">(<\/span><span class=\"pln\">SFTPWORKINGDIR<\/span><span class=\"pun\">);<\/span>\n            <span class=\"typ\">File<\/span><span class=\"pln\"> f <\/span><span class=\"pun\">=<\/span> <span class=\"kwd\">new<\/span> <span class=\"typ\">File<\/span><span class=\"pun\">(<\/span><span class=\"pln\">fileName<\/span><span class=\"pun\">);<\/span><span class=\"pln\">\n            channelSftp<\/span><span class=\"pun\">.<\/span><span class=\"pln\">put<\/span><span class=\"pun\">(<\/span><span class=\"kwd\">new<\/span> <span class=\"typ\">FileInputStream<\/span><span class=\"pun\">(<\/span><span class=\"pln\">f<\/span><span class=\"pun\">),<\/span><span class=\"pln\"> f<\/span><span class=\"pun\">.<\/span><span class=\"pln\">getName<\/span><span class=\"pun\">());<\/span><span class=\"pln\">\n            log<\/span><span class=\"pun\">.<\/span><span class=\"pln\">info<\/span><span class=\"pun\">(<\/span><span class=\"str\">\"File transfered successfully to host.\"<\/span><span class=\"pun\">);<\/span>\n        <span class=\"pun\">}<\/span> <span class=\"kwd\">catch<\/span> <span class=\"pun\">(<\/span><span class=\"typ\">Exception<\/span><span class=\"pln\"> ex<\/span><span class=\"pun\">)<\/span> <span class=\"pun\">{<\/span>\n             <span class=\"typ\">System<\/span><span class=\"pun\">.<\/span><span class=\"pln\">out<\/span><span class=\"pun\">.<\/span><span class=\"pln\">println<\/span><span class=\"pun\">(<\/span><span class=\"str\">\"Exception found while tranfer the response.\"<\/span><span class=\"pun\">);<\/span>\n        <span class=\"pun\">}<\/span>\n        <span class=\"kwd\">finally<\/span><span class=\"pun\">{<\/span><span class=\"pln\">\n\n            channelSftp<\/span><span class=\"pun\">.<\/span><span class=\"pln\">exit<\/span><span class=\"pun\">();<\/span>\n            <span class=\"typ\">System<\/span><span class=\"pun\">.<\/span><span class=\"pln\">out<\/span><span class=\"pun\">.<\/span><span class=\"pln\">println<\/span><span class=\"pun\">(<\/span><span class=\"str\">\"sftp Channel exited.\"<\/span><span class=\"pun\">);<\/span><span class=\"pln\">\n            channel<\/span><span class=\"pun\">.<\/span><span class=\"pln\">disconnect<\/span><span class=\"pun\">();<\/span>\n            <span class=\"typ\">System<\/span><span class=\"pun\">.<\/span><span class=\"pln\">out<\/span><span class=\"pun\">.<\/span><span class=\"pln\">println<\/span><span class=\"pun\">(<\/span><span class=\"str\">\"Channel disconnected.\"<\/span><span class=\"pun\">);<\/span><span class=\"pln\">\n            session<\/span><span class=\"pun\">.<\/span><span class=\"pln\">disconnect<\/span><span class=\"pun\">();<\/span>\n            <span class=\"typ\">System<\/span><span class=\"pun\">.<\/span><span class=\"pln\">out<\/span><span class=\"pun\">.<\/span><span class=\"pln\">println<\/span><span class=\"pun\">(<\/span><span class=\"str\">\"Host Session disconnected.\"<\/span><span class=\"pun\">);<\/span>\n        <span class=\"pun\">}<\/span>\n    <span class=\"pun\">}<\/span>  <\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>public void send (String fileName) { String SFTPHOST = &#8220;host:IP&#8221;; int SFTPPORT = 22; String SFTPUSER = &#8220;username&#8221;; String SFTPPASS = &#8220;password&#8221;; String SFTPWORKINGDIR = &#8220;file\/to\/transfer&#8221;; Session session = null; Channel channel = null; ChannelSftp channelSftp = null; System.out.println(&#8220;preparing the host information for sftp.&#8221;); try { JSch jsch = new JSch(); session = jsch.getSession(SFTPUSER, SFTPHOST, SFTPPORT); session.setPassword(SFTPPASS); java.util.Properties config = new java.util.Properties(); config.put(&#8220;StrictHostKeyChecking&#8221;, &#8220;no&#8221;); session.setConfig(config); session.connect(); System.out.println(&#8220;Host connected.&#8221;); channel = session.openChannel(&#8220;sftp&#8221;); channel.connect(); System.out.println(&#8220;sftp channel opened and connected.&#8221;); channelSftp = (ChannelSftp) channel; channelSftp.cd(SFTPWORKINGDIR); File f = new File(fileName); channelSftp.put(new FileInputStream(f), f.getName()); log.info(&#8220;File transfered successfully to host.&#8221;); } catch (Exception ex) { System.out.println(&#8220;Exception found while tranfer the response.&#8221;); } finally{ channelSftp.exit(); System.out.println(&#8220;sftp Channel exited.&#8221;); channel.disconnect(); System.out.println(&#8220;Channel disconnected.&#8221;); session.disconnect(); System.out.println(&#8220;Host Session disconnected.&#8221;); } }<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"ngg_post_thumbnail":0,"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[15],"tags":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5q9Zn-7R","jetpack-related-posts":[{"id":448,"url":"https:\/\/blog.box.kr\/?p=448","url_meta":{"origin":487,"position":0},"title":"[\ud38c]Java Mail \ubc1c\uc1a1 (GMail SMTP \uc774\uc6a9) example \uc608\uc81c","date":"2014-12-18","format":false,"excerpt":"java mail API\ub97c \uc774\uc6a9\ud558\uc5ec GMail\uc758 SMTP\ub97c \uc774\uc6a9\ud558\uc5ec \uba54\uc77c\uc744 \ubc1c\uc1a1\ud558\ub294 \uac83\uc5d0 \ub300\ud574 \uc544\uc8fc \uac04\ub7b5\ud558\uac8c \uc54c\uc544\ubcf8\ub2e4. \uba54\uc77c\uc744 \ubc1c\uc1a1\ud558\uae30 \uc704\ud574\uc11c\ub294 Java Mail API\uc640 GMail \uacc4\uc815\uc774 \ud544\uc694\ud558\ub2e4. (GMail SMTP\ub294 SSL\ub85c \uacc4\uc815 \uc778\uc99d\uc744 \ud574\uc57c \uc0ac\uc6a9\uc774 \uac00\ub2a5\ud558\ub2e4.) \ubc1c\uc1a1\ub418\ub294 \uba54\uc77c\uc758 \ud14d\uc2a4\ud2b8\ub294 HTML\uc774\uba70, UTF-8\uc774\ub2e4. Text\ub098 \ub2e4\ub978 \uce90\ub9ad\ud130\uc14b\uc744 \uc6d0\ud55c\ub2e4\uba74 \uc870\uae08 \uc218\uc815\ud558\uba74 \ub41c\ub2e4. \uae30\ub2a5\uc740 \ucca8\ubd80\ud30c\uc77c\uc774 \uc788\ub294 \uba54\uc77c\uacfc \uc5c6\ub294 \uba54\uc77c\ub9cc \uad6c\ubd84\ud558\uc5ec\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":583,"url":"https:\/\/blog.box.kr\/?p=583","url_meta":{"origin":487,"position":1},"title":"java\ub85c unzip","date":"2015-01-28","format":false,"excerpt":"http:\/\/sourceforge.net\/projects\/jazzlib\/ \u00a0 Java comes with \u201cjava.util.zip\u201d library to perform data compression in ZIp format. The overall concept is quite straightforward. Read file with \u201cFileInputStream\u201d Add the file name to \u201cZipEntry\u201d and output it to \u201cZipOutputStream\u201c 1. Simple ZIP example Read a file \u201cC:\\spy.log\u201d and compress it into a zip file\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":156,"url":"https:\/\/blog.box.kr\/?p=156","url_meta":{"origin":487,"position":2},"title":"reading text file with utf-8 encoding using java","date":"2014-07-06","format":false,"excerpt":"CASE 1. PrintStream out =newPrintStream(System.out,true,\"UTF-8\"); out.println(str); CASE 2. import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;publicclass test {publicstaticvoid main(String[] args){try{File fileDir =newFile(\"PATH_TO_FILE\");BufferedReader in =newBufferedReader(newInputStreamReader(newFileInputStream(fileDir),\"UTF8\"));String str;while((str = in.readLine())!=null){System.out.println(str);} in.close();}catch(UnsupportedEncodingException e){System.out.println(e.getMessage());}catch(IOException e){System.out.println(e.getMessage());}catch(Exception e){System.out.println(e.getMessage());}} }","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":214,"url":"https:\/\/blog.box.kr\/?p=214","url_meta":{"origin":487,"position":3},"title":"UTF-8 \uc778\ucf54\ub529\ub41c \ud30c\uc77c \uc77d\uace0 EUC-KR \ubcc0\uacbd encoded file read","date":"2014-07-22","format":false,"excerpt":"package com.javawide.files; import java.io.*; public class UTF8Reader { public static void main(String[] args) { UTF8Reader reader = new UTF8Reader(); try { String utf8String = reader.readFully(\"C:\/utf8test.txt\"); System.out.println(utf8String); System.out.println(new String(utf8String.getBytes(), \"EUC-KR\")); } catch (Exception e) { e.printStackTrace(); } } \u00a0public String readFully(String fileName) throws Exception { File f = new File(fileName); if(!f.exists())\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":625,"url":"https:\/\/blog.box.kr\/?p=625","url_meta":{"origin":487,"position":4},"title":"[\ud38c]JAVA \ud654\uc77c \uac10\uc2dc \ud504\ub85c\uadf8\ub7a8 \ub9cc\ub4e4\uae30.","date":"2015-03-21","format":false,"excerpt":"\uc77c\uc744 \ud558\ub2e4\ubcf4\uba74 \ud2b9\uc815 \ub514\ub809\ud1a0\ub9ac\ub97c \uac10\uc2dc\ud558\uc5ec \ud2b9\uc815 \uc870\uac74\uc774 \ub418\uba74 \uc874\uc7ac \ud558\ub294 \ud654\uc77c\uc744 \ucc98\ub9ac \ud558\ub294 \ud504\ub85c\uadf8\ub7a8\uc774 \ud544\uc694 \ud560\ub54c\uac00 \uc788\ub2e4. \u00a0 \ubcf4\ud1b5\uc740 C\/C++\ub85c \uc791\uc5c5 \ud558\ub294\ub370 \uc5b4\ucc0c\ub2e4 \ubcf4\ub2c8 \ubcf4\uac8c\ub41c \ube14\ub85c\uadf8\uc5d0\uc11c \uc5b4\ub5a4 \ubd84\uc774 JAVA\ub85c \ub9cc\ub4e4\uc5b4 \ub193\uc740\uac8c \uc788\uc5b4\uc11c \uac08\ubb34\ub9ac \ud55c\ub2e4. \u00a0 \u00a0 http:\/\/okky.kr\/article\/272376 \u00a0 Main.java public class Main { \/\/ file moved original public static final\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":154,"url":"https:\/\/blog.box.kr\/?p=154","url_meta":{"origin":487,"position":5},"title":"Reading a UTF-8 Encoded File","date":"2014-07-06","format":false,"excerpt":"public static String parseTemplate(String templatePath) { File aFile = new File(templatePath); InputStreamReader reader = null; String template; StringBuffer temp = new StringBuffer(); int counter = 0; try { FileInputStream inStream = new FileInputStream(aFile); reader = new InputStreamReader(inStream, \"utf8\"); BufferedReader inBuf = new BufferedReader(reader); while ((template=inBuf.readLine()) != null) { if(counter ==\u2026","rel":"","context":"In &quot;JAVA&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/487"}],"collection":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=487"}],"version-history":[{"count":0,"href":"https:\/\/blog.box.kr\/index.php?rest_route=\/wp\/v2\/posts\/487\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=487"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.box.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}