获取错误线程中的异常" main" java.lang.ArrayIndexOutOfBoundsException:0

时间:2018-04-25 03:23:11

标签: java jsch

这是我得到的错误

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0  at TrfFiles2Dev.main(TrfFiles2Dev.java:55

这是我正在处理的代码

public  void send (String fileName) {
    String SFTPHOST = "";
    int SFTPPORT = 22;
    String SFTPUSER = "";
    String SFTPPASS = "";
    String SFTPWORKINGDIR = "";
    Logger log = Logger.getLogger(TrfFiles2Dev.class.getName() );
    Session session = null;
    Channel channel = null;
    ChannelSftp channelSftp = null;
    System.out.println("preparing the host information for sftp.");
    try {
        JSch jsch = new JSch();
        session = jsch.getSession(SFTPUSER, SFTPHOST, SFTPPORT);
        session.setPassword(SFTPPASS);
        java.util.Properties config = new java.util.Properties();
        config.put("StrictHostKeyChecking", "no");
        session.setConfig(config);
        session.connect();
        System.out.println("Host connected.");
        channel = session.openChannel("sftp");
        channel.connect();
        System.out.println("sftp channel opened and connected.");
        channelSftp = (ChannelSftp) channel;
        channelSftp.cd(SFTPWORKINGDIR);
        File f = new File(fileName);
        channelSftp.put(new FileInputStream(f), f.getName());
        log.info("File transfered successfully to host.");
    } catch (Exception ex) {
         System.out.println("Exception found while tranfer the response.");
    }
    finally{

        channelSftp.exit();
        System.out.println("sftp Channel exited.");
        channel.disconnect();
        System.out.println("Channel disconnected.");
        session.disconnect();
        System.out.println("Host Session disconnected.");
    }
}   
public static void main(String[] args) {
    TrfFiles2Dev trfFiles2Dev = new TrfFiles2Dev();
    trfFiles2Dev.send(args[0]);
}   }

提前感谢您的帮助。我不打算为我做这件事,我只是陷入困境,需要帮助找到我的路。

以及如何将文件从我的服务器传输到其他服务器?

1 个答案:

答案 0 :(得分:-1)

您需要提供program arguements才能运行。

如果您使用的是eclipse

之类的内容
Goto run-> run configurations-> give arguements-> then run

如果您使用的是cmd,请使用以下内容:

java TrfFiles2Dev you-file-name-here.txt 

您还可以在使用fileName课程运行程序时使用Scanner。类似的东西:

Scanner scn = new Scanner(System.in);
String fileName = scn.nextLine();
TrfFiles2Dev trfFiles2Dev = new TrfFiles2Dev();
trfFiles2Dev.send(args[0]);