java ftp上传文件 工具类
package com.learning.spboot.utils; import com.jcraft.jsch.*;
import org.apache.commons.net.ftp.FTPClient; import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;
import java.util.Vector; public class FTPUtils { //远程服务器地址
private final static String homeName = "47.104.99.125";
//ftp端口
private final static int homePort = 22; private final static String userename = "****";
private final static String password = "*****"; public static String init(String dirPaht,String filepath)
{ ChannelSftp sftp = null;
Channel channel = null;
Session sshSession = null; JSch jscj=new JSch(); try { jscj.getSession(userename,homeName,homePort);
sshSession=jscj.getSession(userename,homeName,homePort);
sshSession.setPassword(password);
Properties sshConfig = new Properties();
sshConfig.put("StrictHostKeyChecking", "no");
sshSession.setConfig(sshConfig);
sshSession.connect();
if(sshSession.isConnected()) { System.out.println("连接成功!");
System.out.println("Session connected!");
/*sftp.setFilenameEncoding("UTF-8");
sftp.*/
channel = sshSession.openChannel("sftp");
channel.connect();
sftp = (ChannelSftp) channel;
//判断当前上传路径是否存在 try {
Vector <?> vector = sftp.ls(dirPaht);//首次路径不存在,会报错
if (vector == null) {
//sftp.rmdir(dirPaht);
sftp.mkdir(dirPaht);
}
}catch (Exception e){
e.getMessage();
sftp.mkdir(dirPaht);//创建上传路径 }
//切换到目录上传目录下
sftp.cd(dirPaht);
File file=new File(filepath); String filetype=file.getName().substring(file.getName().lastIndexOf(".")+1); String newFileName= new SimpleDateFormat("yyyymmdd").format(new Date())+"."+filetype; InputStream ins = new FileInputStream(file);
//中文名称的
sftp.put(ins, new String(newFileName.getBytes(),"UTF-8")); } else { System.out.println("连接失败!");
} } catch (Exception e) {
e.printStackTrace();
} return null; } public static void main(String []args ){ new FTPUtils().init("/java/image/","D:\\开发工具软件\\ideaImg\\011.jpg");
} }
java ftp上传文件 工具类的更多相关文章
- FTP上传-封装工具类
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- ftp上传下载工具类
package com.taotao.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNo ...
- Java ftp上传文件方法效率对比
Java ftp上传文件方法效率对比 一.功能简介: txt文件采用ftp方式从windows传输到Linux系统: 二.ftp实现方法 (1)方法一:采用二进制流传输,设置缓冲区,速度快,50M的t ...
- Java ftp 上传文件和下载文件
今天同事问我一个ftp 上传文件和下载文件功能应该怎么做,当时有点懵逼,毕竟我也是第一次,然后装了个逼,在网上找了一段代码发给同事,叫他调试一下.结果悲剧了,运行不通过.(装逼失败) 我找的文章链接: ...
- java上传文件工具类
这个是之前整理之前所学时与使用java向邮箱发送邮件一块找到的,一起贴出来供大家参考: import java.awt.image.BufferedImage; import java.io.File ...
- 高可用的Spring FTP上传下载工具类(已解决上传过程常见问题)
前言 最近在项目中需要和ftp服务器进行交互,在网上找了一下关于ftp上传下载的工具类,大致有两种. 第一种是单例模式的类. 第二种是另外定义一个Service,直接通过Service来实现ftp的上 ...
- (实用篇)PHP ftp上传文件操作类
<?php /** * 作用:FTP操作类( 拷贝.移动.删除文件/创建目录 ) */ class class_ftp { public $off; // 返回操作状态(成功/失败) publi ...
- java ftp上传文件
/** * 上传文件到ftp * @param server * @param user * @param pwd * @param filenames */ public static void u ...
- js上传文件工具类
个人博客 地址:http://www.wenhaofan.com/article/20180808210417 jQuery.extend({ uploadUtil:function(){ } }); ...
随机推荐
- sql自建用户
1.删除数据库中的自建用户:2.在sql中"安全性","登录名",新建个登录名,名称是用户名,采用sql身份验证,去掉密码策略, 选择页下选择“用户映射”,选择 ...
- 蓝桥杯第六届省赛 手链样式 STL
小明有3颗红珊瑚,4颗白珊瑚,5颗黄玛瑙.他想用它们串成一圈作为手链,送给女朋友.现在小明想知道:如果考虑手链可以随意转动或翻转,一共可以有多少不同的组合样式呢? 分析:这个题首先一定要理解题意,转动 ...
- ASP.NET上传大文件报错,IIS7.0
打开你系统盘(我是C盘),找到C:\Windows\System32\inetsrv\config\schema目录,该目录下有一个IIS_schema.xml,右击打开文件,Ctrl+F,然后输入& ...
- 为何存在requests库,pycharm依然报错解决方法 --转载
原文地址:https://www.jianshu.com/p/e28a72ba7809 今天在使用pycharm的时候,用到了第三档库requests,提示有错误,报错显示 No module nam ...
- js生成二维码 qrcode
js生成二维码 QRcode npm 地址 1.安装qrcode //在项目文件夹中执行: npm install --save qrcode //或者,将其全局安装以使用qrcode命令行来保存qr ...
- java对象深度拷贝
如何利用序列化来完成对象的拷贝呢?在内存中通过字节流的拷贝是比较容易实现的.把母对象写入到一个字节流中,再从字节流中将其读出来,这样就可以创建一个新的对象了,并且该新对象与母对象之间并不存在引用共享的 ...
- Oracle单机Rman笔记[5]---脱机异地还原
脱机异地还原(安装一个原环境相同的linux,并安装数据库,注意不要配置安装实例) .检查/home/oracle下的.bashrc .bash_profile内容是否与原环境一致(具体看情况而定), ...
- mysql创建table
innodb 存储引擎,创建一个表 本文分析创建一个段.待叙,主要说明是如何创建一文件,并在文件中分配一个索引. 上面是创建一个表的调用图.创建文件和创建一个btr /**************** ...
- 转发:Webstorm 2017 破解激活下载
有用过一下,但是觉得比sublime重量太多,但是随着后来用node的开始,发现需要打造个web前端神器才能满足我的需求,于是乎重拾webstorm,目前发现11是新的版本,对node,npm支持性更 ...
- 静态方法和实例方法(mark)
借花献佛[转自 ivony's blog] 关于静态方法和实例方法的一些误区. 一. 静态方法常驻内存,实例方法不是,所以静态方法效率高但占内存. 事实上,方法都是一样的,在加载时机和占 ...