sftp文件上传和读取
2015-11-26 14:41
651 查看
java中针对sftp服务器进行文件上传和读取的操作,代码如下:
以上基本为我们常用的操作。
public class SftpUploadAndReadFile{ private ChannelSftp sftpClient; private SFTPUtils sftp = new SFTPUtils(); private final String IP = properties.getProperty("sftp.ip"); // 服务器IP地址 private final String USERNAME = properties.getProperty("sftp.username"); // 用户名 private final String USERPWD = properties.getProperty("sftp.userpwd"); // 密码 private final String PORT = properties.getProperty("sftp.port"); // 端口号 public void uploadJob(){ // 连接服务器 sftpClient = sftp.connect(IP, Integer.parseInt(PORT), USERNAME, USERPWD); // 得到文件流 FileInputStream fos = new FileInputStream(new File("E://output.xls")); HSSFWorkbook xls = new HSSFWorkbook(fos); // 输出流转为输入流,上传到ftp ByteArrayOutputStream os = new ByteArrayOutputStream(); xls.write(os); byte[] b = os.toByteArray(); ByteArrayInputStream in = new ByteArrayInputStream(b); sftpClient.put(in, "/demo/xls/output.xls"); // 关闭连接 sftp.disconnect(sftpClient); } public void readJob(){ // 连接服务器 sftpClient = sftp.connect(IP, Integer.parseInt(PORT), USERNAME, USERPWD); // 得到该目录下所有文件 Vector<LsEntry> ftpFiles = sftpClient.ls("/demo/xls"); InputStream retrieveFileStream = null; if (ftpFiles != null && ftpFiles.size() > 0){ for (LsEntry ftpFile : ftpFiles){ if (ftpFile.getFilename().indexOf(".xls") != -1){ // 得到输入流 retrieveFileStream = sftpClient.get("/demo/xls/" + ftpFile.getFilename()); // 得到excel文件 HSSFWorkbook xls = new HSSFWorkbook(inputStream); } } } // 另外sftpClient还有另外一些常用的方法基本跟linux下的命令差不多,如下 // sftpClient.rm(/demo/xls/output.xls); 删除文件 // sftpClient.cd(/demo/xls/); 打开某个目录如果目录不存在会抛异常 // sftpClient.mkdir(/demo/xls/); 创建目录 // 关闭连接 sftp.disconnect(sftpClient); } }
以上基本为我们常用的操作。
相关文章推荐
- PHP5.3中 in_array()的一个坑
- PHP5.3中 in_array()的一个坑
- 自用PhpStorm快捷键。
- 自用PhpStorm快捷键。
- php file_exists无效解决办法
- PHP的几个常用加密函数
- Github上的PHP资源汇总大全
- php类自动载入
- ftp文件服务器上传下载案例
- php链接数据库类
- php添加mysqli扩展
- php 分页原理
- PHP开发工具及配置过程
- MySQL phpMyAdmin中文乱码解决方法
- php-输出一个表格
- 如何设置 zend studio 默认编码为UTF8
- phpmyadmin上传较大sql文件
- php7在 windows环境下部署
- FileOutputStream
- VSFTP 服务器配置