木子_qin斤 2018-09-06 02:27 采纳率: 0%
浏览 2165
已结题

JSCH上传文件到linux服务器打开远程目录报空指针异常

最近的项目要用jsch把本地文件上传到服务器,但是出现问题:

public static void main(String[] args) {

        try {
            upload("/home/informix", "C:\\Users\\Administrator\\Desktop\\upload.jsp", getSession());
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (JSchException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SftpException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

    //获得指定用户session
    public static Session getSession() throws JSchException {
        JSch jsch = new JSch();// 创建JSch对象
        Session session = jsch.getSession("informix", "192.168.226.166", 22);
        session.setPassword("ffcsffcs");
        Properties config = new Properties();
        // 设置 SSH 连接时不进行公钥确认
        config.put("StrictHostKeyChecking", "no");
        session.setConfig(config);
        session.connect();
        return session;
    }
 //上传单个文件
    public static void upload(String remotePath, String uploadFile, Session session)
            throws JSchException, FileNotFoundException, SftpException {
        ChannelSftp channelSftp = (ChannelSftp) session.openChannel("sftp");
        channelSftp.cd(remotePath);
        File file = new File(uploadFile);
        channelSftp.put(new FileInputStream(file), file.getName());
        //channelSftp.put(new FileInputStream(file), remotePath, ChannelSftp.OVERWRITE);
        System.out.println("Upload Success!");
    }

异常:
4:
at com.jcraft.jsch.ChannelSftp.cd(ChannelSftp.java:285)
at cn.ffcs.util.JSchUtils.upload(JSchUtils.java:121)
at cn.ffcs.util.JSchUtils.main(JSchUtils.java:29)
Caused by: java.lang.NullPointerException
at com.jcraft.jsch.Packet.reset(Packet.java:43)
at com.jcraft.jsch.ChannelSftp.sendPacketPath(ChannelSftp.java:2025)
at com.jcraft.jsch.ChannelSftp.sendREALPATH(ChannelSftp.java:1954)
at com.jcraft.jsch.ChannelSftp._realpath(ChannelSftp.java:1807)
at com.jcraft.jsch.ChannelSftp.cd(ChannelSftp.java:268)
... 2 more

求大神指点

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2018-09-06 02:44
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 matlab实现基于主成分变换的图像融合。
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊