Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / February 2008

Tip: Looking for answers? Try searching our database.

using java with sftp

Thread view: 
Bumsys@gmail.com - 22 Feb 2008 10:44 GMT
import com.jcraft.jsch.*;
import java.io.*;
import java.util.*;

/**
* This class is used to demonstrate the usage of the
* JCraft JSch package to SFTP files.
*
* @author  Tim Archer 04/20/07
* @version $Revision: 1.1 $
*/
public class TestJSch {

   /** Creates a new instance of TestCommonsNet */
   public TestJSch() {
   }

   /**
    * main - Unit test program
    * @param args Command line arguments
    *
    */
   public static void main(String[] args) {
       try {
           String ftpHost = "10.64.3.27";
           int ftpPort = 14147;
           String ftpUserName = "anabolik";
           String ftpPassword = "anabolik";
           String ftpRemoteDirectory = "/home/tarcher/tmp/";
           String fileToTransmit = "c:\\temp\\test.txt";

           //
           //First Create a JSch session
           //
           System.out.println("Creating session.");
           JSch jsch = new JSch();
           Session session = null;
           Channel channel = null;
           ChannelSftp c = null;

           //
           //Now connect and SFTP to the SFTP Server
           //
           try {
               //Create a session sending through our username and
password
               session = jsch.getSession(ftpUserName, ftpHost,
ftpPort);
               System.out.println("Session created.");
               session.setPassword(ftpPassword);
               //Security.addProvider(new
com.sun.crypto.provider.SunJCE());

               //
               //Setup Strict HostKeyChecking to no so we dont get
the
               //unknown host key exception
               //
               java.util.Properties config = new
java.util.Properties();
               config.put("StrictHostKeyChecking", "no");
               session.setConfig(config);
               session.connect();
               System.out.println("Session connected.");

               //
               //Open the SFTP channel
               //
               System.out.println("Opening Channel.");
               channel = session.openChannel("sftp");
               channel.connect();
               c = (ChannelSftp)channel;
           } catch (Exception e) {
               System.err.println("Unable to connect to FTP server.
"+e.toString());
               throw e;
           }

           //
           //Change to the remote directory
           //
           System.out.println("Changing to FTP remote dir: " +
ftpRemoteDirectory);
           c.cd(ftpRemoteDirectory);

           //
           //Send the file we generated
           //
           try {
               File f = new File(fileToTransmit);
               System.out.println("Storing file as remote filename: "
+ f.getName());
               c.put(new FileInputStream(f), f.getName());
           } catch (Exception e) {
               System.err.println("Storing remote file failed.
"+e.toString());
               throw e;
           }

           //
           //Get the list of files in the remote server directory
           //
           Vector files = c.ls(ftpRemoteDirectory);

           //
           //Log if we have nothing to download
           //
           if (files.size() == 0) {
               System.out.println("No files are available for
download.");
           }
           //
           //Otherwise download all files except for the . and ..
entries
           //
           else {
               for (int i=0; i<files.size(); i++) {
                   com.jcraft.jsch.ChannelSftp.LsEntry lsEntry =
(com.jcraft.jsch.ChannelSftp.LsEntry) files.get(i);

                   if (!lsEntry.getFilename().equals(".") && !
lsEntry.getFilename().equals("..")) {
                       System.out.println("Downloading file
"+lsEntry.getFilename());

                       String outputFileName = "c:\\temp\
\"+lsEntry.getFilename();

                       //Get the write and write it to our local file
system
                       File f = new
File(outputFileName);
                       c.get(lsEntry.getFilename(), new
FileOutputStream(f));

                       //
                       //Remove the file from the server
                       //
                       /*
                       c.rm(lsEntry.getFilename());
                       */
                   }
               }
           }

           //
           //Disconnect from the FTP server
           //
           try {
               c.quit();
           } catch (Exception exc) {
               System.err.println("Unable to disconnect from FTP
server. " + exc.toString());
           }

       } catch (Exception e) {
           System.err.println("Error: "+e.toString());
       }

       System.out.println("Process Complete.");
       System.exit(0);
   }
}

When i run code i have error:
Creating session.
Session created.
Process Complete.
Unable to connect to FTP server. com.jcraft.jsch.JSchException:
java.net.ConnectException: Connection refused: connect
Error: com.jcraft.jsch.JSchException: java.net.ConnectException:
Connection refused: connect

what is wrong?
GArlington - 22 Feb 2008 11:11 GMT
On Feb 22, 10:44 am, Bum...@gmail.com wrote:
> import com.jcraft.jsch.*;
> import java.io.*;
[quoted text clipped - 171 lines]
>
> what is wrong?

"Connection refused"!!!???
Bumsys@gmail.com - 22 Feb 2008 11:28 GMT
but why my connection is refused. what can it be?
Gordon Beaton - 22 Feb 2008 11:31 GMT
> but why my connection is refused. what can it be?

The connection is refused because noone is listening for incoming
connections at the destination address:port that you attempted to
connect to.

/gordon

--
Stanimir Stamenkov - 22 Feb 2008 11:43 GMT
Fri, 22 Feb 2008 03:28:18 -0800 (PST), /Bumsys@gmail.com/:
> Fri, 22 Feb 2008 03:11:34 -0800 (PST), /GArlington/:
>> On Feb 22, 10:44 am, Bum...@gmail.com wrote:
[quoted text clipped - 15 lines]
>
> but why my connection is refused. what can it be?

Do your server support SFTP connections?  Could you connect to it
using another software?

Signature

Stanimir

Nigel Wade - 22 Feb 2008 15:08 GMT
> but why my connection is refused. what can it be?

Connection refused means that when you attempted to connect to the host/port the
host responded with RST/ACK response, i.e. go away.

This is normally the result of there being nothing listening on that port. Also,
some firewalls are configured to respond in this manner to any attempted
connection.

Signature

Nigel Wade, System Administrator, Space Plasma Physics Group,
           University of Leicester, Leicester, LE1 7RH, UK
E-mail :    nmw@ion.le.ac.uk
Phone :     +44 (0)116 2523548, Fax : +44 (0)116 2523555



Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.