博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java nas服务器 文件上传、下载
阅读量:6878 次
发布时间:2019-06-26

本文共 3209 字,大约阅读时间需要 10 分钟。

hot3.png

package com.neu.es;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.util.Properties;import java.util.Vector;import com.jcraft.jsch.Channel;import com.jcraft.jsch.ChannelSftp;import com.jcraft.jsch.JSch;import com.jcraft.jsch.Session;import com.jcraft.jsch.SftpException;/** *  * 项目名称:ed_system     * 类名称:NasUtils     * 类描述:     * 创建人:pan.cx     * 创建时间:2015年9月16日 上午9:31:30     * 修改人:pan.cx     * 修改时间:2015年9月16日 上午9:31:30     * 修改备注:     * @version      * */public class NasUtils {	public static void main(String[] args) throws IOException {		NasUtils client = new NasUtils();		ChannelSftp sftp1 = client.connect("192.168.12.104", 22, "root","1qaz@WSX");		System.err.println(sftp1);		client.upload("/var/", "D://person1.xml", sftp1);		//client.download("/var/", "person1.xml", "D://person12.xml", sftp1);		boolean closed = sftp1.isClosed();		System.err.println(closed);	}	 /**	  * 连接sftp服务器	  * @param host 主机	  * @param port 端口	  * @param username 服务器用户名	  * @param password 密码	  * @return	  */	public ChannelSftp connect(String host, int port, String username,			String password) {		ChannelSftp sftp = null;		try {			JSch jsch = new JSch();			jsch.getSession(username, host, port);			Session sshSession = jsch.getSession(username, host, port);			System.out.println("Session created.");			sshSession.setPassword(password);			Properties sshConfig = new Properties();			sshConfig.put("StrictHostKeyChecking", "no");			sshSession.setConfig(sshConfig);			sshSession.connect();			Channel channel = sshSession.openChannel("sftp");			channel.connect();			sftp = (ChannelSftp) channel;			System.out.println("登录成功: Connected to " + host + ".");		} catch (Exception e) {					}		return sftp;	}	 /**	  * 上传文件	  * @param directory 上传的目录	  * @param uploadFile 要上传的文件	  * @param sftp	  */	public void upload(String directory, String uploadFile, ChannelSftp sftp) {		try {			sftp.cd(directory);			File file = new File(uploadFile);			sftp.put(new FileInputStream(file), file.getName());			System.out.println("上传成功!");		} catch (Exception e) {			e.printStackTrace();		} finally {			if(sftp!=null){				sftp.quit();			}		}	}	 /**	  * 下载文件	  * @param directory 下载目录	  * @param downloadFile 下载的文件	  * @param saveFile 存在本地的路径	  * @param sftp	  */	public void download(String directory, String downloadFile,			String saveFile, ChannelSftp sftp) {		try {			sftp.cd(directory);			File file = new File(saveFile);			sftp.get(downloadFile, new FileOutputStream(file));		} catch (Exception e) {			e.printStackTrace();		} finally {			if(sftp!=null){				sftp.quit();			}		}	}	 /**	  * 删除文件	  * @param directory 要删除文件所在目录	  * @param deleteFile 要删除的文件	  * @param sftp	  */	public void delete(String directory, String deleteFile, ChannelSftp sftp) {		try {			sftp.cd(directory);			sftp.rm(deleteFile);		} catch (Exception e) {			e.printStackTrace();		} finally {			if(sftp!=null){				sftp.quit();			}		}	}	 /**	  * 列出目录下的文件	  * @param directory 要列出的目录	  * @param sftp	  * @return	  * @throws SftpException	  */	public Vector listFiles(String directory, ChannelSftp sftp)			throws SftpException {		return sftp.ls(directory);	}}

转载于:https://my.oschina.net/9981/blog/506611

你可能感兴趣的文章
如何对待用户需求的几点思考
查看>>
团队进展报告(3)
查看>>
沈阳市房地产市场信息系统数据容灾与异地备份
查看>>
nlp Task2
查看>>
我的友情链接
查看>>
简单干净的C#方法设计案例:SFCUI.AjaxLoadPage()之一
查看>>
XMPP协议的原理介绍
查看>>
Undo管理
查看>>
jsp简易留言板
查看>>
3.15好水指数N1能否让饮水健康不失控?
查看>>
Linux防火墙的设置
查看>>
人人商城PHP网站打开网页空白
查看>>
redhat修改源
查看>>
ruby 访问权限
查看>>
linux磁盘管理命令--df
查看>>
cocos2d: 单击,双击,及双指捏合事件的判断
查看>>
读书笔记《unix系统编程》-第2章 文件
查看>>
统一日志平台-搭建
查看>>
项目经理,不要迷信制度!
查看>>
NDK如何集成libiconv
查看>>