sftp文件上传和读取
2016-03-08 00:00
525 查看
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); } }
以上基本为我们常用的操作。
相关文章推荐
- PHP实现队列及队列原理
- php读取超大文件fseek
- PHP set_error_handler()函数的使用
- #!/usr/bin/php
- 用php做消息推送
- PHP-005
- php 数字格式化输出
- PHP数据加密技术之一---CRYPT()加密
- php 简易的一个 验证码 生成
- php日记——配置的坑
- php MySQL使用rand函数随机取记录(转)
- PHP数据加密技术之一---MD5()和Sha1()加密
- php日记——文件上传处理
- php 查询出来的字段名全是小写或者大写
- php写入数据到数据库以及Mysql数据库乱码的问题
- ubuntu操作系统安装(二) ftp
- php魔术方法——属性重载方法
- MFC子窗口和父窗口(SetParent,SetOwner)
- php连贯操作实现
- Yii2中的零碎知识点