添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
import java.io.InputStream; import java.io.InputStreamReader; import java.net.SocketException; import java.text.SimpleDateFormat; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPFile; public class Test { public static void main(String[] args) throws Exception { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); FTPClient ftpClient = FtpUtil.connectFTP("127.0.0.1", 21, "123456", "123456"); FTPFile[] ftpFiles = ftpClient.listFiles(); for (FTPFile ftpFile : ftpFiles) { String fileName = ftpFile.getName();//获取文件名 String suffix = fileName.substring(fileName.lastIndexOf(".")).toLowerCase();//后缀名 //ftp设置的是utc时间,和系统时间有8小时时差,所以需要加上时差 Long lastModifiedTime = ftpFile.getTimestamp().getTimeInMillis() + ftpFile.getTimestamp().getTimeZone().getOffset(0); System.out.println("读取到文件:"+fileName+" 文件最后修改时间:"+sdf.format(lastModifiedTime)); if(suffix.equals(".txt")){ InputStream is = ftpClient.retrieveFileStream(ftpFile.getName()); BufferedReader br = new BufferedReader(new InputStreamReader(is,"UTF-8")); String content = ""; while ((content = br.readLine()) != null){ //一次读入一行数据 System.out.println(content); br.close(); is.close(); //结束事务(有流返回时需手动调用,否则会报输入流为空) ftpClient.completePendingCommand(); * 连接FTP * @param hostname 服务器地址 * @param port 端口号(默认为21) * @param username 帐号 * @param password 密码 public static FTPClient connectFTP(String hostname, int port, String username, String password){ FTPClient ftp = new FTPClient(); try { //连接FTP服务器 ftp.connect(hostname, port); boolean login = ftp.login(username, password); if (login) { System.out.println(">>>>>>>>FTP-->登录成功>>>>>>>>>>>>>"); }else { System.out.println(">>>>>>>>FTP-->登录失败>>>>>>>>>>>>>"); } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); return ftp; 1.pom.xml添加连接FTP依赖包<dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.1</version></dependency>2.... package com.farm.home.service.serviceImpl; import org.apache.commons.net. ftp . FTP Client; import org.apache.commons.net. ftp . FTP File; import java .io.BufferedReader; import java .io.InputSt
文章目录1. 阿里云搭建 ftp 服务器1.1 安装 ftp 服务器1.2 设置阿里云ECS的安全组2. FileZilla客户端查看 文件 1. 阿里云搭建 ftp 服务器 1.1 安装 ftp 服务器 1、安装vs ftp ,sudo apt-get install vs ftp d 2、修改配置sudo vi /etc/vs ftp d/vs ftp d.conf 3、设置 ftp 服务开机自动启动,systemctl enable vs ftp d.service 4、启动 ftp 服务器,systemctl start vs ftp d.ser
<!-- https://mvnrepository.com/artifact/commons-net/commons-net --> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version&gt @ConfigurationProperties(prefix = " ftp .server") @Data public class Ftp PropertiesConfig { * IP地址 private String host;
可以使用 Java 的网络编程功能,实现 FTP 协议的 文件 上传。具体步骤如下: 1. 建立与 FTP 服务器的连接:使用 Java 的Socket类进行连接,并使用该类的方法登录到 FTP 服务器。 2. 设置上传模式:使用 FTP 协议的特定命令设置上传模式为二进制模式。 3. 构造 文件 :使用 Java 的FileInputStream类 读取 待上传的 文件 ,并将其写入到 FTP 服务器。 4. 确认 文件 上传:使用 FTP 协议的特定命令确认 文件 已经成功上传。 5. 断开连接:使用 Java 的Socket类断开与 FTP 服务器的连接。 可以使用现成的开源 FTP 客户端库,如Apache Commons Net,简化开发难度。