当前位置: 首页 > news >正文

专业搭建网站百度贴吧网页入口

专业搭建网站,百度贴吧网页入口,中国建设银行官网站,电子商务网站建设评估工具有哪些FTP服务之Java操作FTP服务器下载文件的两种方式 文章目录 FTP服务之Java操作FTP服务器下载文件的两种方式1. 使用Apache commons-net工具包1. 引入commons-net依赖2. 操作案例1. 单文件下载2. 切换到指定目录批量下载文件 2. 使用Hutool工具1. 引入依赖2. 操作案例1. 文件下载 …

FTP服务之Java操作FTP服务器下载文件的两种方式

文章目录

  • FTP服务之Java操作FTP服务器下载文件的两种方式
  • 1. 使用Apache commons-net工具包
    • 1. 引入commons-net依赖
    • 2. 操作案例
      • 1. 单文件下载
      • 2. 切换到指定目录批量下载文件
  • 2. 使用Hutool工具
    • 1. 引入依赖
    • 2. 操作案例
      • 1. 文件下载

注意:如果fpt服务中没有建立目录, 则默认文件目录为根目录也即/,否则按具体目录进行操作,如: /demo
FTP服务搭建查看博文 FTP服务之WindowsServer2019中搭建私有FTP服务器

1. 使用Apache commons-net工具包

1. 引入commons-net依赖

<dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.10.0</version></dependency>

2. 操作案例

1. 单文件下载

@Testpublic void downLoadOne() {String server = "192.168.31.252";int port = 21;String user = "anonymous";String password = "";String remoteFile = "/demo/xxx说明书.pdf";String localFile = "F:\\ftpDownlaod\\newAAA.pdf";FTPClient ftpClient = new FTPClient();OutputStream outputStream = null;try {ftpClient.connect(server, port);ftpClient.login(user, password);ftpClient.enterLocalPassiveMode();outputStream = Files.newOutputStream(Paths.get(localFile));// ftp默认使用ISO-8859-1编码格式,所以这里需要转换为ISO-8859-1,“解决文件名为中文时,下载后为空文件的问题”String remoteFileName = new String(remoteFile.getBytes("GBK"), StandardCharsets.ISO_8859_1);ftpClient.retrieveFile(remoteFileName, outputStream);} catch (IOException ex) {System.out.println("DownLoad Error: " + ex.getMessage());ex.printStackTrace();} finally {try {if (outputStream != null) {outputStream.close();}ftpClient.disconnect();} catch (IOException ex) {ex.printStackTrace();}}}

2. 切换到指定目录批量下载文件

   @Testpublic void batchDownLoadFileFromFtp() {FTPClient client = new FTPClient();try {//设置主机与端口client.connect("192.168.31.252", 21);//设置用户名及密码,这里以匿名用户登录为例,根据需求改为自己的用户名及密码client.login("anonymous", "");System.out.println("FTP服务器文件编码===>>" + client.getControlEncoding());int reply = client.getReplyCode();if (!FTPReply.isPositiveCompletion(reply)) {client.disconnect();System.out.println("Login Error,Please check if your username or password is correct");return;}client.setControlEncoding("GBK");System.out.println("设置后的文件编码:" + client.getControlEncoding());client.enterLocalPassiveMode();//切换到demo目录下client.changeWorkingDirectory("demo");System.out.println("---------------------------------------");String[] names;names = client.listNames();for (String name : names) {System.out.println(name);}System.out.println("ftp服务中,demo目录中的所有文件:" + Arrays.toString(names));System.out.println("---------------------------------------");FTPFile f = client.listFiles()[0];System.out.println("getLink===>" + f.getLink());//切换到根目录下client.changeWorkingDirectory("/");String path = "/demo";client.setBufferSize(1024);client.setFileType(FTP.BINARY_FILE_TYPE);client.enterLocalPassiveMode();//切换到demo目录下获取此目录中所有的文件,并进行一个下载client.changeWorkingDirectory(path);FTPFile[] fs = client.listFiles();for (FTPFile ff : fs) {String outFileName = ff.getName();System.out.println(outFileName);//本地目录文件不需要编码File localFile = new File("F:\\ftpDownlaod\\" + ff.getName());OutputStream fos = Files.newOutputStream(localFile.toPath());// ftp默认使用ISO-8859-1编码格式,所以这里需要转换为ISO-8859-1,“解决文件名为中文时,下载后为空文件的问题”String localFileName = new String(ff.getName().getBytes("GBK"), StandardCharsets.ISO_8859_1);client.retrieveFile(localFileName, fos);fos.close();}} catch (Exception e) {e.printStackTrace();} finally {try {client.disconnect();} catch (IOException e) {e.printStackTrace();}}}

2. 使用Hutool工具

Hutool对FTP客户端基于Apache Commons Net做了进一步的封装。

文档地址:扩展(Hutool-extra) - FTP封装-Ftp

1. 引入依赖

<dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.10.0</version></dependency>             
<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.23</version></dependency>

2. 操作案例

1. 文件下载

目前存在的问题: 如果文件名称是中文,则下载后的文件大小为0


@Testpublic void ftpServerTestByAnonymousOne() {Ftp ftp = new Ftp("192.168.31.252", 21);String downLoadPath = "/demo";String fileName = "demo.pdf";String outputPath = "F:\\ftpDownlaod";ftp.download(downLoadPath, fileName, new File(outputPath));//关闭连接try {ftp.close();} catch (IOException e) {throw new RuntimeException(e);}//FtpUtil.downloadFile(host, port, user, password, remotePath, localPath);}@Testpublic void ftpServerTestByAnonymousTwo() throws UnsupportedEncodingException {Ftp ftp = new Ftp("192.168.31.252", 21, "anonymous", "", StandardCharsets.UTF_8);String downLoadPath = "/demo";String fileName = "数据迁移最佳实践.pdf";//String remoteFileName = new String(fileName.getBytes("utf-8"),"ISO-8859-1");String outputPath = "F:\\ftpDownlaod\\xxx.pdf";ftp.download(downLoadPath, fileName, new File(outputPath));//关闭连接try {ftp.close();} catch (IOException e) {throw new RuntimeException(e);}//FtpUtil.downloadFile(host, port, user, password, remotePath, localPath);}
http://www.ds6.com.cn/news/107779.html

相关文章:

  • 高校信息化建设网站系统微信seo
  • 广东住房和城乡建设厅网站首页凡科网怎么建网站
  • 网站上报名系统怎么做湖南百度推广代理商
  • 陕西省人民政府官网淄博seo公司
  • 河北省建筑人才网seo网站监测
  • 简单易做的的网站汕头最好的seo外包
  • wordpress关注查看手机优化专家
  • 西安微信网站开发优化新十条
  • 网站建设 落地页搜索引擎优化策略不包括
  • 包装设计公司商业模式seo网络优化师招聘
  • 信息咨询公司网站源码深圳短视频推广
  • 四川省建设资格注册中心网站品牌营销活动策划方案
  • 深圳线上注册公司网站快速排名优化报价
  • 网站建设公司项目介绍郑州seo优化大师
  • 微信网站是怎么做的品牌营销的四大策略
  • wordpress快速建站百度广告联盟价格
  • 前几年做那个网站能致富冯耀宗seo博客
  • 光谷网站建设网站关键词优化费用
  • 宜兴百度推广公司选择宁波seo优化公司
  • 石家庄网站建设外包前端优化网站
  • 唐山做网站那家好制作网站建设入门
  • 汶上网站建设天津百度快速优化排名
  • 专注徐州网站建设海外推广营销 平台
  • 动态网站建设实训心得下列关于友情链接说法正确的是
  • 网站模版怎么做的玄幻小说排行榜百度风云榜
  • 科技设计公司网站模板下载河南网站建设哪个公司做得好
  • 有哪些网站做生鲜到家怎样找推广平台
  • 做网站的困难做网站多少钱一年
  • 长沙网站外包公司吗申请网站怎样申请
  • 合肥高端网站开发公司北京网络营销