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(){ } }); ...
随机推荐
- lua调用不同lua文件中的函数
a.lua和b.lua在同一个目录下 a.lua调用b.lua中的test方法,注意b中test的写法 _M 和 a中调用方法: b.lua local _M = {}function _M.test ...
- springboot killed springboot 无故停止运行解决办法
测试环境的服务部署在阿里云服务器上,运行一段时间总是自动宕掉,在配置文件里加上内存溢出配置,也不能打印出相关日志,一直找不出原因.今天在网上:http://www.cnblogs.com/chener ...
- 修改 input / textarea placeholder 属性的颜色和字体大小
话不多说,直接上代码: input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { color: #666; fon ...
- WEB UI 上传URL附件(使用方法备份)
FUNCTION zcrm_update_atta. *"------------------------------------------------------------------ ...
- 微信和QQ内置浏览器为什么老是弹停止访问该网页,微信域名被屏蔽的解决办法
近来很多商家开始重视域名防封的技术了,为什么呢,因为实在是封怕了.三天两头就得去换域名,换域名是小事,用户流失就是大事了,直接跟利益挂钩的.那么域名防封技术究竟有多重要呢?又该如何实现域名防封呢?下面 ...
- 阿里云 oss 上传文件,js直传,.net 签名,回调
后台签名 添加引用 string dir = string.Format("{0:yyyy-MM-dd}", date) + "/"; OssClient cl ...
- 一位资深Java架构师的晋级心得
架构师是什么? 是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物.一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清 ...
- hdu1256
画横线总是一个字符粗,竖线随着总高度每增长6而增加1个字符宽.当总高度从5增加到6时,其竖线宽度从1增长到2.下圈高度不小于上圈高度,但应尽量接近上圈高度,且下圈的内径呈正方形.每画一个"8 ...
- 转:LRU算法
LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的,是根据页面调入内存后的使用情况进行决策了.由于无法预测各页面将来的使用情况,只能利用“最近 ...
- 白鹭wing的自动编译
1.lunch.json文件中的"preLaunchTask":"build",注释掉. 2.安装node-v6.11.2-x64.msi 3.安装tsc 命令 ...