济南网站外包网站后台数据库备份怎么做
- 作者: 五速梦信息网
- 时间: 2026年03月21日 10:49
当前位置: 首页 > news >正文
济南网站外包,网站后台数据库备份怎么做,公司简介宣传册模板ppt,网站开发的前后台的步骤分别为Java之通过JSch库连接Linux实现文件传输 文章目录 Java之通过JSch库连接Linux实现文件传输1. JSch2. Java通过Jsch连接Linux1. poxm.xml2. 工具类3. 调用案例 1. JSch 官网#xff1a;JSch - Java Secure Channel (jcraft.com) JSch是SSH2的纯Java实现。 JSch 允许您连接到 ss…Java之通过JSch库连接Linux实现文件传输 文章目录 Java之通过JSch库连接Linux实现文件传输1. JSch2. Java通过Jsch连接Linux1. poxm.xml2. 工具类3. 调用案例 1. JSch 官网JSch - Java Secure Channel (jcraft.com) JSch是SSH2的纯Java实现。 JSch 允许您连接到 sshd 服务器并使用端口 转发、X11 转发、文件传输等以及 您可以将其功能集成到您自己的 Java 程序中。 JSch在BSD风格的许可证下获得许可。 2. Java通过Jsch连接Linux
- poxm.xml ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.yuan/groupIdartifactIdyuan-connect-linux/artifactIdversion1.0.0/versionpropertiesmaven.compiler.source8/maven.compiler.sourcemaven.compiler.target8/maven.compiler.target/propertiesdependenciesdependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdversion1.18.24/version/dependencydependencygroupIdorg.apache.commons/groupIdartifactIdcommons-lang3/artifactIdversion3.12.0/version/dependencydependencygroupIdcom.jcraft/groupIdartifactIdjsch/artifactIdversion0.1.55/version/dependency/dependencies /project2. 工具类 SftpUtils.java如下 package com.yuan.utils;import com.jcraft.jsch.; import org.apache.commons.lang3.StringUtils;import java.io.; import java.util.; import java.util.logging.Logger;//在使用的的时候需要调用 connect()开启连接使用完后调用 disconnect() 关闭连接 。 public class SftpUtils {Logger log Logger.getLogger(SftpUtils.class.getName());/** 主机名称/IP/private String host;/** 端口默认22/private int port 22;/** 用户名/private String userName;/** 密码/private String password;private ChannelSftp sftp null;private Channel channel null;private Session session null;public SftpUtils(String host, String userName, String password) {this.host host;this.userName userName;this.password password;}public SftpUtils(String host, int port, String userName, String password) {this.host host;this.port port;this.userName userName;this.password password;}/** 连接到服务器** throws JSchException/public void connect() throws JSchException {JSch jSch new JSch();session jSch.getSession(userName, host, port);session.setPassword(password);session.setConfig(this.config());session.connect();channel session.openChannel(sftp);channel.connect();sftp (ChannelSftp) channel;log.info(以连接到主机 host);}/** config** return Properties/private Properties config() {Properties properties new Properties();properties.put(StrictHostKeyChecking, no);return properties;}/** 关闭连接/public void closeConnect() {try {if (sftp.isConnected()) {sftp.disconnect();}if (channel.isConnected()) {channel.disconnect();}if (session.isConnected()) {session.disconnect();}} catch (Throwable e) {e.printStackTrace();}}/** 下载文件** param remoteDir 远程服务器文件目录不指定路径默认是FTP的根路径指定路径是指的SFTP的根路径下开始。* 例如SFTP根路径为/sftp/file那么默认下载文件会去根路径下载而指定 sftpPath 也是从根路径下开始* 指定 sftpPath 为 word那么是从 /sftp/file/word 路径中查找文件下载。为空表示忽略该参数。* param fileName 文件名如myTest.pdf* param outputFilePath 下载文件保存路径目录文件名例如d:/pdf/myTest.pdf* return/public boolean downloadFile(String remoteDir, String fileName, String outputFilePath) {OutputStream outputStream null;try {if (StringUtils.isNotBlank(remoteDir)) {sftp.cd(remoteDir);}outputStream new FileOutputStream(outputFilePath);sftp.get(fileName, outputStream);return true;} catch (Exception e) {log.info(下载文件错误, e.getMessage());} finally {if (outputStream ! null) {try {outputStream.close();} catch (IOException e) {e.printStackTrace();}}}return false;}/** 文件上传** param remotePath 远程服务器目录不指定路径默认是FTP的根目录指定路径是指的SFTP的根目录下开始。* 例如SFTP根路径为/opt/file那么默认下载文件会去根路径下载而指定 sftpPath 也是从根路径下开始* 指定 sftpPath 为 word那么是从 /sftp/file/word 路径中查找文件下载。为空表示忽略该参数。* param fileName 上传后文件名* param localFilePath 本地文件路径目录文件名例如d:/aa/myTest.pdf* return/public boolean uploadFile(String remotePath, String fileName, String localFilePath) {InputStream inputStream null;try {if (StringUtils.isNotBlank(remotePath)) {sftp.cd(remotePath);}inputStream new FileInputStream(localFilePath);sftp.put(inputStream, fileName);return true;} catch (Exception e) {log.info(文件上传失败: e.getMessage());} finally {if (null ! inputStream) {try {inputStream.close();} catch (IOException e) {e.printStackTrace();}}}return false;}/** 上传文件** param remotePath 远程服务器目录不指定路径默认是FTP的根目录指定路径是指的SFTP的根目录下开始。* 例如SFTP根路径为/sftp/file那么默认下载文件会去根路径下载而指定 sftpPath 也是从根路径下开始* 指定 sftpPath 为 word那么是从 /sftp/file/word 路径中查找文件下载。为空表示忽略该参数。* param fileName 上传后文件名* param inputStream 文件输入流* return/public boolean uploadFile(String remotePath, String fileName, InputStream inputStream) {try {if (StringUtils.isNotBlank(remotePath)) {sftp.cd(remotePath);}sftp.put(inputStream, fileName);return true;} catch (Exception e) {log.info(文件上传失败: e.getMessage());} finally {if (null ! inputStream) {try {inputStream.close();} catch (IOException e) {e.printStackTrace();}}}return false;}/** 文件删除** param remotePath 远程服务器目录不指定路径默认是FTP的根目录指定路径是指的SFTP的根目录下开始。* 例如SFTP根路径为/sftp/file那么默认下载文件会去根路径下载而指定 sftpPath 也是从根路径下开始* 指定 sftpPath 为 word那么是从 /sftp/file/word 路径中查找文件下载。为空表示忽略该参数。* param fileName 文件名* return/public boolean deleteFile(String remotePath, String fileName) {try {if (StringUtils.isNotBlank(remotePath)) {sftp.cd(remotePath);}sftp.rm(fileName);return true;} catch (Exception e) {log.info(删除文件失败: e.getMessage());}return false;}/** 查询指定目录下所有文件** param remotePath 远程服务器目录不指定路径默认是FTP的根目录指定路径是指的SFTP的根目录下开始。* 例如SFTP根路径为/sftp/file那么默认下载文件会去根路径下载而指定 sftpPath 也是从根路径下开始* 指定 sftpPath 为 word那么是从 /sftp/file/word 路径中查找文件下载。为空表示忽略该参数。* return*/public ListString listFiles(String remotePath) throws SftpException {Vector files sftp.ls(remotePath);ListString result new ArrayList();Iterator iterator files.iterator();while (iterator.hasNext()) {ChannelSftp.LsEntry isEntity (ChannelSftp.LsEntry) iterator.next();result.add(isEntity.getFilename());}return result;} }3. 调用案例 package com.yuan;import com.yuan.utils.SftpUtils;public class SftpDemo {public static void main(String[] args) {SftpUtils sftpUtils null;try {sftpUtils new SftpUtils(??, 22, ??, ??);sftpUtils.connect();sftpUtils.downloadFile(/opt/download/, myTest.pdf, D:\aa\pdf\yuan.pdf);} catch (Exception e) {e.printStackTrace();} finally {if (sftpUtils ! null) {sftpUtils.closeConnect();}}} }
- 上一篇: 济南网站托管重庆电子网站建设
- 下一篇: 济南网站营销海南百度首页广告
