- 浏览: 536493 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (240)
- Java (25)
- Flex (46)
- Sybase (26)
- Sqlserver (7)
- .NET (1)
- .NET-Silverlight (11)
- Hibernate (5)
- Korn-shell (2)
- Perl (5)
- Unix & Linux (11)
- Ruby (3)
- SVN (2)
- Tomcat (1)
- CSS (5)
- Web (2)
- English (3)
- SQL (9)
- Qlikview (4)
- Spring (7)
- javascript (2)
- weblogic (5)
- iphone (1)
- 网络 (5)
- 随 (23)
- AutoSys (1)
- Hermes (2)
- RPM (2)
- CA (1)
- Operating System (1)
- SSIS (3)
- Windows (2)
- excel (1)
- SSRS (1)
- 活动 (23)
- Eclipse (2)
- Angular (0)
- Python (0)
- AWS (0)
- Android (0)
最新评论
-
devcang:
long t1 = System.nanoTime();
java中取得微秒级的时间 -
Sev7en_jun:
Sev7en_jun 写道 ExternalInterface ...
flex"页面跳转" -
Sev7en_jun:
ExternalInterface.call("fu ...
flex"页面跳转" -
lujinan858:
Incorrect syntax near 'fddActiv ...
Sybase alter 用法 -
Sev7en_jun:
Alter table TestItem drop COLUM ...
Sybase alter 用法
来源(http://forhope.iteye.com/blog/798754)
导入包jsch-0.1.43.jar
package com.network.manage.device.util; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelSftp; import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException; import com.jcraft.jsch.Session; import com.jcraft.jsch.SftpException; public class SFTPUtil { private static JSch jSch = new JSch(); private static ChannelSftp sftp = null; private static Channel channel = null; private static Session session = null; public static boolean login(String hostname, int port, String username, String password) { try { session = jSch.getSession(username, hostname, port); session.setPassword(password); Properties sshConfig = new Properties(); sshConfig.put("StrictHostKeyChecking", "no"); session.setConfig(sshConfig); session.connect(); channel = session.openChannel("sftp"); channel.connect(); sftp = (ChannelSftp) channel; return true; } catch (JSchException e) { System.err.println("SSH方式连接FTP服务器时有JSchException异常!"); System.err.println(e.getMessage()); return false; } } public static boolean downloadFile(String hostname, int port, String username, String password, String remotePath, String remoteFilename, String localFilename) { FileOutputStream output = null; boolean success = false; try { // SSH方式登录FTP服务器 success = login(hostname, port, username, password); //登录失败 if (!success) { return success; } if (null != remotePath && remotePath.trim() != "") { sftp.cd(remotePath); } File localFile = new File(localFilename); //有文件和下载文件重名 if (localFile.exists()) { sftp.disconnect(); System.err.println("文件: " + localFilename + " 已经存在!"); return success; } output = new FileOutputStream(localFile); sftp.get(remoteFilename, output); success = true; } catch (SftpException e) { System.err.println("接收文件时有SftpException异常!"); e.printStackTrace(); System.err.println(e.getMessage()); return success; } catch (IOException e) { System.err.println("接收文件时有I/O异常!"); System.err.println(e.getMessage()); return success; } finally { try { if (null != output) { output.close(); } } catch (IOException e) { System.err.println("关闭文件时出错!"); System.err.println(e.getMessage()); } if (sftp.isConnected()) { sftp.disconnect(); } if (channel.isConnected()) { channel.disconnect(); } if (session.isConnected()) { session.disconnect(); } } return success; } public static boolean uploadFile(String hostname, int port, String username, String password, String remotePath, String remoteFilename, InputStream input) { boolean success = false; try { // SSH方式登录FTP服务器 success = login(hostname, port, username, password); //登录失败 if (!success) { return success; } // 更改服务器目录 if (null != remotePath && remotePath.trim() != "") { sftp.cd(remotePath); } // 发送文件 sftp.put(input, remoteFilename); success = true; } catch (SftpException e) { System.err.println("发送文件时有SftpException异常!"); e.printStackTrace(); System.err.println(e.getMessage()); return success; } catch (Exception e) { System.err.println("发送文件时有异常!"); System.err.println(e.getMessage()); return success; } finally { try { if (null != input) { input.close(); } } catch (IOException e) { System.err.println("关闭文件时出错!"); System.err.println(e.getMessage()); } if (sftp.isConnected()) { sftp.disconnect(); } if (channel.isConnected()) { channel.disconnect(); } if (session.isConnected()) { session.disconnect(); } } return success; } public static boolean deleteFile(String hostname, int port, String username, String password, String remotePath, String remoteFilename) { boolean success = false; try { // SSH方式登录FTP服务器 success = login(hostname, port, username, password); //登录失败 if (!success) { return success; } // 更改服务器目录 if (null != remotePath && remotePath.trim() != "") { sftp.cd(remotePath); } // 删除文件 sftp.rm(remoteFilename); success = true; } catch (SftpException e) { System.err.println("删除文件时有SftpException异常!"); e.printStackTrace(); System.err.println(e.getMessage()); return success; } catch (Exception e) { System.err.println("删除文件时有异常!"); System.err.println(e.getMessage()); return success; } finally { if (sftp.isConnected()) { sftp.disconnect(); } if (channel.isConnected()) { channel.disconnect(); } if (session.isConnected()) { session.disconnect(); } } return success; } }
发表评论
-
Tools
2015-04-16 15:29 01. DeleteDuplicateLineFromFile ... -
Java List deepCopy function
2015-03-09 17:00 1206List<String> listA = ne ... -
集成Sqlserver Windows Authentication验证到第三方DB客户端软件中, 如DbVisualizer & Squirrel等
2014-03-18 16:47 1626本方法适用于Java编写的第三方DB客户端软件, 如DbV ... -
如何把jdk配置到eclipse里
2013-07-17 15:14 984window -> preference -> ... -
用java导入密钥和证书,组成密钥对导入同一密钥库
2012-03-05 15:57 26621.使用openssl转换将pem的密钥和证书成der格式 ... -
JAVA1.5范型
2011-11-02 15:19 1220本文将介绍J2SE 5.0中三个比较重要的特性: 枚举类型, ... -
在Spring框架下 使用junit进行单元测试
2010-03-01 15:53 1180package com.yourPackage.test;im ... -
JAVA JNI 使用实例
2010-02-25 21:34 1635JAVA JNI 使用实例 JAVA可以通过JNI接口 ... -
java中调用c(c++)写的dll 文件的实现及步骤(转)
2010-02-25 21:33 1676JNI使用技巧点滴 本文为在 32 位 Windows 平台 ... -
Could not load org.apache.xerces.util.EncodingMap
2010-02-09 14:47 2267出现此错误的原因 1、在hibernate 映射文件中引入了 ... -
addBatch()用法(jdbc事务控制)
2010-01-22 14:28 2347addBatch()用法 查看文章 Prepar ... -
java获取当前时间
2010-01-15 11:51 2372有两种方法: 方法一 ... -
关于java中的“包”与C#中的“命名空间”的简单认识
2009-12-28 10:37 2720Package vs. Namespace我们知道,重用性(r ... -
使用ActiveMQ收发JMS
2009-11-16 14:29 12571.本机测试版 import javax.jms.Conne ... -
使用JBOSS收发JMS
2009-11-13 17:07 4354当我们清楚了以后内 ... -
使用WEBLOGIC收发JMS
2009-11-13 11:38 1581JMS是一个由AS提供的Message服务。它能接受消息产生者 ... -
java中取得微秒级的时间
2009-05-14 11:56 5230为了测试java 一个函数的执行时间 。 use ... -
Java实现随机验证码功能
2009-05-14 14:55 991现在许多系统的注册、登录或者发布信息模块都添加的随机码功能,就 ... -
“大家来找茬”自制查找程序
2009-05-14 17:54 1283此程序初衷是为了“沉迷”于此游戏的老婆大人,怕其用眼过度,为她 ... -
由一道java题的思考和引申
2009-05-22 09:54 1350题目: 用程序产生10个随机数,序号从1到10,然后对这 ...
相关推荐
标题中的“绿色简易的单文件SFTP服务器”指的是一个轻量级、无需安装且只包含一个执行文件的SFTP(Secure File Transfer Protocol)服务器软件。SFTP是一种在不安全网络上安全传输文件的安全协议,它基于SSH(Secure...
在IT领域,Windows操作系统上的SFTP(Secure File Transfer Protocol)文件管理服务器是一种安全的数据传输解决方案,它基于SSH(Secure Shell)协议,确保了文件传输过程中的数据加密,从而提高了安全性。...
- WinSCP的作用是通过公私钥验证的方式登录SFTP服务器,并上传压缩后的备份文件。 5. **设定定时任务**: - 控制面板 → 管理工具 → 计划任务 → 添加计划任务 → 设置每日运行脚本备份文件 → 确保即使在未登录...
总结来说,基于sshd构建的SFTP服务器是一种强大的工具,它提供了安全的文件传输和远程命令执行能力。通过定制化配置和扩展,可以满足各种业务需求。在实际应用中,务必注意安全配置,以确保系统的稳定性和数据的安全...
4. **配置文件管理**:Java程序可能需要读取配置文件来获取SFTP服务器的地址、用户名、密码或私钥等连接信息,这可以通过Java的`Properties`类或者第三方库如Apache Commons Configuration实现。 5. **状态判断**:...
本项目是一个基于QSSH库的SFTP文件管理器,它允许用户通过Qt框架安全地访问和管理远程服务器上的文件。 【QSSH】 QSSH是Qt库的一个扩展,提供了SSH(Secure Shell)连接和会话管理的功能。SSH是一种网络协议,用于...
SFTP(Secure File Transfer ...其强大的功能和易用性使得文件管理变得更加高效和安全。在日常工作中,无论是开发人员部署代码、设计人员分享资源还是系统管理员维护服务器,这样的工具都能大大提高他们的生产力。
这样,我们就设置了一个定时任务,到了指定时间,系统会自动运行`sftp.bat`脚本,通过psftp将文件上传到SFTP服务器。 注意:为了安全性,不建议在脚本中直接写入密码,可以考虑使用密钥对或者通过其他安全方式来...
除了基本的SFTP服务器搭建,你还可以进一步配置如日志记录、访问控制列表、防火墙规则等高级特性,以增强服务器的安全性和管理效率。记住,定期更新SSH服务器软件和系统补丁是保持服务器安全的关键。 总之,搭建...
本篇文章将深入探讨如何使用C#实现在SFTP协议下进行文件的操作,包括连接SFTP服务器、添加、删除和移动文件。 首先,要连接到SFTP服务器,我们需要一个支持SFTP的库。在C#中,常用的库有SharpSSH和SSH.NET。这两个...
3. **连接到SFTP服务器** 使用Connect()方法建立连接。 ```csharp sshClient.Connect(); ``` 4. **文件上传** 创建一个SftpFileStream对象,指定远程文件名和操作模式(例如Write),然后使用FileStream的...
通过以上步骤,我们就可以在Windows环境下成功搭建一个SFTP服务器,并使用freeSSHD进行管理。这个过程不仅提高了数据传输的安全性,还使得远程文件管理变得更加便捷。在实际应用中,可以根据具体需求调整配置,以...
标签中的"vb_sftp c_sftp sftp sftp服务器源码 vc_sf"进一步强调了这个资源与VB、C以及SFTP服务器源码的关系,同时也提到了VC++的简称"vc"和可能的文件分享平台"Pudn"的标识"sf"。 压缩包内的文件...
此外,`XFTP`还提供了其他高级功能,如同步浏览、文件权限设置、文件过滤等,这些可以帮助提升文件管理的效率和准确性。对于开发者和运维人员来说,掌握`XFTP`的使用技巧是必不可少的。 标签中的“源码”可能暗示了...
在IT行业中,C#是一种广泛...理解并熟练运用这些知识点,开发者可以利用C# Sftp服务器Dll创建高效且安全的SFTP服务器,满足企业对文件传输的需求。同时,了解SFTP协议的细节和C#的面向对象特性对于开发工作至关重要。
【sftp_manger批量服务器管理器】是一款专为IT专业人士设计的高效工具,它整合了SFTP(Secure File Transfer Protocol)功能,使得用户能够轻松地对多台远程服务器进行批量管理和维护。SFTP是一种安全的文件传输协议...
迷你SFTP服务器是一款轻量级的SFTP(SSH文件传输协议)服务器软件,尤其适合在无需复杂配置的情况下快速建立本地SFTP服务。标题中的“mini-sftp-server.x64”表明这是一款专为64位操作系统设计的版本,提供便捷的...
SFTP通过SSH连接建立一个安全通道,用于执行文件管理操作,如上传、下载、重命名和删除文件。与FTP(File Transfer Protocol)不同,FTP在明文中传输数据,容易遭受中间人攻击,而SFTP则提供了端到端的安全性。 要...
**下载Linux服务器文件** 下载文件的过程与上传类似,只是使用了`get()`方法。该方法会将服务器上的文件下载到本地。 ```java sftp.get(远程文件路径, 本地保存路径); ``` **删除Linux服务器文件** 删除文件可以...
SFTP服务器是提供SFTP服务的软件,允许用户通过SFTP协议连接并管理远程文件系统。 提到"小巧好用的 sftp 服务器",我们可能想到的是那些轻量级、资源占用少、易于配置和管理的SFTP服务器软件。这类服务器通常适用于...