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(){ } }); ...
随机推荐
- 移动vue项目,启动错误:Module build failed: Error: No PostCSS Config found in:
解决办法:在根目录新建postcss.config.js module.exports = { plugins: { 'autoprefixer': {browsers: 'last 5 versio ...
- 【Idea】IntelliJ不停地updating indices的解决办法
- mysql 重点性能测试指标
#qps 每秒钟查询数量 计算方式queries/seconds 查询总数/秒数show GLOBAL STATUS LIKE 'question%' #tps 每秒事务数 计算方式 (com_com ...
- CentOS7部署Flask+Gunicorn+Nginx+Supervisor
1. Git客户端 Win10安装git for windows 1.1 设置Git全局参数 打开Git Bash $ git config --global user.name "Alic ...
- JQuery的常用选择器 转
JQuery的常用选择器 刚开始学JQuery写的如有错误欢迎批评指正 JQuery拥有的选择器可以让我们更快更方便找到想要的元素,然后对相应的元素进行操作 简单介绍一下一些常用的选择器: 1.基本选 ...
- vue-quill-editor富文本编辑器,上传图片自定义为借口上传
vue-quill-editor富文本编辑器,上传图片自定义为借口上传 博客地址:https://blog.csdn.net/lyj2018gyq/article/details/82585194
- ES6笔记(二)
一.字符串的扩展1. 用于从码点返回到对应字符. String.fromCodePoint(xx)2. for...of可以遍历字符串3. includes():返回布尔值,表示是否找到了参数字符串. ...
- PHP语言学习之php做图片上传功能
本文主要向大家介绍了PHP语言学习之php做图片上传功能,通过具体的内容向大家展示,希望对大家学习php语言有所帮助. 今天来做一个图片上传功能的插件,首先做一个html文件:text.php < ...
- http短连接与长连接简介
1.HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议.IP协议主要解决网络路由和寻址问题 ...
- bootstrap全局样式二
加form-grope是为了以后更好的管理,一组form写一个form-grope 显示如下: 并排显示的话,给用户名前面再加一个div,再加horizontal,如下,并且加上control-lab ...