第一种方法连接中带有账号密码直接远程下载:

    public Result<?> download(){//进行下载文件---------------------------------开始//远程服务器下载地址String fileurl = "ftp://superAdmin:superAdmin123@192.168.1.8:8888/usr/mp4pt/rec/CHN0/10110120011100/00001.mp4";//文件物理路径String realfilepath = "F:/rhsftdemo/00001.mp4";//本地中新建文件夹目录File file = new File("F:/rhsftdemo/");if (!file.exists()) {file.mkdirs();}log.info("存储路径realfilepath:" + realfilepath + "下载路径:" + fileurl);download(fileurl,realfilepath);return Result.ok();}private static final int BUFFER_SIZE = 4096;public void download(String ftpUrl,String savePath){long startTime = System.currentTimeMillis();
//        String ftpUrl = "ftp://ftp.f-secure.com/misc/unixutil/skeysrcs.zip";String file = "";// name of the file which has to be downloadString host = ""; // ftp serverString user = ""; // user name of the ftp serverString pass = ""; // password of the ftp server
//        String savePath = "F:\\skeysrcs.zip";ftpUrl = String.format(ftpUrl, user, pass, host);System.out.println("Connecting to FTP server");try {URL url = new URL(ftpUrl);URLConnection conn = url.openConnection();InputStream inputStream = conn.getInputStream();long filesize = conn.getContentLength();System.out.println("Size of the file to download in kb is:-" + filesize / 1024);FileOutputStream outputStream = new FileOutputStream(savePath);byte[] buffer = new byte[BUFFER_SIZE];int bytesRead = -1;while ((bytesRead = inputStream.read(buffer)) != -1) {outputStream.write(buffer, 0, bytesRead);}long endTime = System.currentTimeMillis();System.out.println("File downloaded");System.out.println("Download time in sec. is:-" + (endTime - startTime) / 1000);outputStream.close();inputStream.close();} catch (IOException ex) {ex.printStackTrace();}}

第二种方法:通过账号密码登录后进行下载:

public Result<?> download(){//进行下载文件---------------------------------开始//远程服务器下载地址String fileurl = "ftp://192.168.1.8:8888/usr/mp4pt/rec/CHN0/20220420095100/00001.mp4";//本地文件物理路径String realfilepath = "F:/rhsftdemo/00001.mp4";//本地中新建文件夹目录File file = new File("F:/rhsftdemo/");if (!file.exists()) {file.mkdirs();}log.info("存储路径realfilepath:" + realfilepath + "下载路径:" + fileurl);boolean bb = retepasvfile(realfilepath,fileurl,"00001.mp4");return Result.ok();}/*** 本地保存** @param localurl 本地文件物理路径* @param hosturl 远程服务器下载地址* @param filename 文件名称** @return*/public synchronized boolean retepasvfile(String localurl, String hosturl, String filename) {FTPClient ftp = new FTPClient();boolean re = false;try {log.info("本地存储路径==:" + localurl);File file = FileUtil.getFile(localurl);ftp.setConnectTimeout(10000);ftp.setDataTimeout(10000);ftp.connect("192.168.1.8", 21);if (!org.springframework.util.StringUtils.isEmpty("admin") && !org.springframework.util.StringUtils.isEmpty("superAdmin123") && "superAdmin" != "null" && "superAdmin123" != "null") {//这里输入账号密码ftp.login("superAdmin", "superAdmin123");} else {log.info("开始链接ftp:");ftp.login("anonymous", "anonymous");}//ftp.bin();//  String str=ftp.pwd();ftp.enterLocalPassiveMode(); //被动模式ftp.setControlKeepAliveTimeout(60);ftp.setFileType(FTP.BINARY_FILE_TYPE);boolean b = ftp.changeWorkingDirectory(hosturl.substring(0, hosturl.lastIndexOf("/")));log.info("pwd:" + b + "---切换目录:" + hosturl.substring(0, hosturl.lastIndexOf("/")));long locationsize = file.length();//服务器上文件的大小if (b) {boolean res = false;res = ftp.retrieveFile(filename, new FileOutputStream(file));if (res) {//ftp.disconnect();log.info("文件下载完成");re = true;} else {log.info("文件下载失败");//ftp.disconnect();}}} catch (Exception e) {e.getStackTrace();log.error("retepasvfileSamba:e=3" + e);} finally {try {ftp.disconnect();} catch (Exception e) {}}return re;}

java 使用ftp下载远程服务器文件相关推荐

  1. 服务器 ftp查询文件是否存在,ftp查看远程服务器文件是否存在

    ftp查看远程服务器文件是否存在 内容精选 换一换 云堡垒机配置了FTP/SFTP远程备份,报请检查服务器密码或网络连接情况错误,不能启动远程备份.选择备份具体某一天日志,提示备份正在执行,但远程服务 ...

  2. 远程服务器创建文件,ftp创建远程服务器文件夹

    ftp创建远程服务器文件夹 内容精选 换一换 在本地主机和Windows弹性云服务器上分别安装QQ.exe等工具进行数据传输.使用远程桌面连接mstsc方式进行数据传输.该方式不支持断点续传,可能存在 ...

  3. ftp获取远程服务器的文件,ftp查看远程服务器文件

    ftp查看远程服务器文件 内容精选 换一换 云堡垒机配置了FTP/SFTP远程备份,报请检查服务器密码或网络连接情况错误,不能启动远程备份.选择备份具体某一天日志,提示备份正在执行,但远程服务器未接收 ...

  4. php 下载脱离服务器,php 自动下载远程服务器文件

    摘要 腾兴网为您分享:php 自动下载远程服务器文件,桌面时钟,银联商务,小番茄,喜马拉雅等软件知识,以及中山安全,司机之家,四川金穗服务,的语音合成,包头交警,thor过滤器,魔术教学视频简单,怒熊 ...

  5. java利用shh2 读取远程服务器文件/删除服务器文件

    maven引入 <!-- 读取远程服务器文件--><!-- shh2 --><dependency><groupId>ch.ethz.ganymed&l ...

  6. 上传/下载远程服务器文件

    需求说明   有时候我们需要对我们远程服务器的文件进行上传/下载功能,或者是我们拿到国外的Chicken了需要上传我们的Trojan来进行长久控制,再或者我们需要方便的拿到我们远程服务器上某某文件/文 ...

  7. Windows本地下载远程服务器文件方法总结

    文章目录 一.目的 二.环境 三.使用命令 3.1 certutil 3.2 bitsadmin 3.3 powershell 3.4 Python 3.5 VBS脚本 一.目的   拿到一台Wind ...

  8. vs code 如何在服务器打开文件,本地VSCode编辑远程服务器文件

    前言 先说下我的场景:服务器搭设了一系列复杂环境,然后需要使用PHP实现某些功能 选这种远程编辑的原因: 首先PHP打死我也不想装(这个现在是出了VB外最惹人厌的语言了) 然后环境比较复杂,本地装下比 ...

  9. 文件传送到服务器的软件,远程服务器文件传输软件

    远程服务器文件传输软件 内容精选 换一换 已成功登录Java性能分析.待安装分析辅助软件的服务器已开启sshd.待安装分析辅助软件的服务器已安装JRE,JRE版本要求为Open JDK 11.Java ...

最新文章

  1. Python中lxml库的安装(Windows平台)
  2. 视频中的运动特征--Learning Motion Patterns in Videos
  3. php protected 属性,PHP实现在对象之外访问其私有属性private及保护属性protected的方法...
  4. u盘变o字节怎么修复_U盘启动盘在重装系统时识别不了解决办法
  5. Redis整合Spring结合使用缓存实例
  6. Linux 命令之 tcpdump -- 监听网络流量
  7. react 最佳实践_最佳React教程
  8. Java语言中的----数组
  9. oracle01144,ORA-01144
  10. cin.get(),cin.getline(),getline(),gets(),getchar()
  11. jenkins修改pom文件_jenkins参数化配置,pom.xml配置
  12. 小D课堂 - 零基础入门SpringBoot2.X到实战_第4节 Springboot2.0单元测试进阶实战和自定义异常处理_21、SpringBoot2.x配置全局异常返回自定义页面...
  13. php读取excel怎么读取sheet2,PHP读取Excel 之 Spreadsheet_Excel_Reader
  14. MacBook安装p7zip解压7z文件
  15. ISO8583报文协议 2013-10-16 10:44 563人阅读 评论(0) 收藏...
  16. 导出excel此单元格中的数字为文本格式,或者其前面有撇号
  17. 游戏夜读 | 简单认识一下爬虫
  18. android 播放器 sma,SMA测评app
  19. 基于单片机的坐姿(提醒)矫正系统设计
  20. 如何在ASA防火墙上实现ipsec ***

热门文章

  1. “智慧工地+BIM”为建筑企业智慧化管理加码
  2. java实现定时任务 schedule_Java定时任务调度详解
  3. androidstudio图片居中_android 在代码中设置布局居中layout_gravity,layout_margin的方法...
  4. 字节跳动青训营笔试题解
  5. Halcon几何定位
  6. js语音播报功能(1)
  7. .NET Framework 3.5 (包括.NET 2.0和 3.0) 下载失败的解决方式
  8. Aria2Android 免root,Linux Bash脚本:在本地机上部署用户自用aria2服务
  9. 省市区(县)行政区划境界线(geojson)获取说明及代码
  10. 付费才能玩 微软为Win 10确立全新商业模式