程序笔记   发布时间:2022-07-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ftp上传到nas大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

<dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.3</version> </dependency> <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.54</version> </dependency>

 

 

 

package cn.test.uploadfile.nas;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;

 

public class NasUtils { public static void main(String[] args) throws IOException { NasUtils client = new NasUtils(); ChAnnelSftp sftp1 = client.connect("139.196.174.174", 22, "root","zhao1234."); System.err.println(sftp1); client.upload("/opt/file", "D:/pic/00000926.jpg", 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); }

}

大佬总结

以上是大佬教程为你收集整理的ftp上传到nas全部内容,希望文章能够帮你解决ftp上传到nas所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。