java用FTP实现上传下载功能

Java实现FTP上传、下载、删除和创建目录功能, jar commons-net commons-net 3.6 监听器 监听进度 import org.apache.commons.net.io.CopyStreamEvent; import org.apache.commons.net.io.CopyStreamListener; public class UploadListen implements Cop... 阅读详情
/*
 * 文 件 名:  Ftpdownload.java
 * 描    述:  <ftp上传下载工具类>
 * 修改时间:  2018年3月21日
 */
package cn.finedo.paas.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

import org.apache.commons.net.ftp.FTP;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

/**
 * <文件下载>
 * <功能详细描述>
 * 
 * @author  hehy
 * @version  [版本号, 2018年3月21日]
 * @see  [相关类/方法]
 * @since  [产品/模块版本]
 */
public class FtpUtil {
	private static Logger logger = LogManager.getLogger();
	
	//入口main
	public static void main(String[] args) {
		//ftpuploading("****.**.*.***","test","test","F:\\***\\paas\\a.txt","/datafine/file/ftp","a.txt");
		ftpdownloadfile("****.***.*.*","userftp","12345678","F:\\****\\paas\\a.txt","/home/userftp/","a.txt");
	}

  /**
   * 上传文件(可供Action/Controller层使用)
   * @param hostname FTP服务器地址
   * @param port  FTP服务器端口号
   * @param username  FTP登录帐号
   * @param password  FTP登录密码
   * @param pathname  FTP服务器保存目录
   * @param fileName  上传到FTP服务器后的文件名称
   * @param inputStream 输入文件流
   * @return
   */
	public static void ftpuploading(String url,String username,String 
			password,String localfilepath,String serverpath,String filename){
		FTPClient ftpClient = new FTPClient();
		
		//创建ftp连接,默认是21端口
		try{
			ftpClient.connect(url,21);
			ftpClient.login(username,password);
			//读取本地文件
			FileInputStream inputStream = new FileInputStream(new File(localfilepath));
			logger.info(inputStream.toString());
			logger.info(serverpath);
			//设置上传文件路径
			ftpClient.changeWorkingDirectory(serverpath);
			//修改上传文件的格式
			ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
			//第一个参数:服务器端文档名(即上传到服务器上的文件名)
			//第二个参数:上传文档的inputStream
			ftpClient.storeFile(filename, inputStream);
			ftpClient.logout();
		}catch(IOException e){
			e.printStackTrace();
		}finally{
			if(ftpClient.isConnected()){
				try{
					ftpClient.disconnect();
				}catch(IOException ioe){
					
				}
			}
		}
	}

	
/**
   * 下载文件
   * @param hostname FTP服务器地址
   * @param port  FTP服务器端口号
   * @param username  FTP登录帐号
   * @param password  FTP登录密码
   * @param pathname  FTP服务器文件目录
   * @param filename  文件名称
   * @param localpath 下载后的文件路径
   * @return
   */
	public static boolean ftpdownloadfile(String url,String username,String password,String localpath,
			String remotepath,String filename ){
		boolean result = false;
		FTPClient ftp = new FTPClient();
		try{
			int reply;
			ftp.connect(url,21);
			ftp.login(username,password);
			reply = ftp.getReplyCode();
			if(!FTPReply.isPositiveCompletion(reply)){
				ftp.disconnect();
				return result;
			}
			ftp.changeWorkingDirectory(remotepath);
			FTPFile[] fs = ftp.listFiles();
			for(FTPFile ff : fs){
				if(ff.getName().equals(filename)){
					File localFile = new File(localpath + "/" + ff.getName());
					OutputStream is = new FileOutputStream(localFile);
					ftp.retrieveFile(ff.getName(), is);
					is.close();
				}
			}
			ftp.logout();
			result= true;
		}catch(IOException e){
			e.printStackTrace();
		}finally{
			if(ftp.isConnected()){
				try{
					ftp.disconnect();
				}catch(IOException ioe){
					
				}
			}
		}
		return result;
	}
}

Java实现FTP多线程批量及断点续传功能示例 简介:本示例详细展示了在Java中如何实现多线程、批量文件传输以及断点续传的FTP功能。这些功能对于提升大文件的传输效率和可靠性至关重要。多线程技术用于同时处理多个文件,批量传输能够高效处理文件群,而断点续传则保证在网络不稳定时也能持续传输。通过使用如Apache Commons Net的第三方类库,支持这些高级FTP特性,并通过异常处理机制确保传输的稳定性。代码实例包含了核心的FTP操作类和测试类,以及如何记录文件状态和配置FTP连接信息。 阅读详情

相关推荐

Ubuntu 24.04下Loki+Alloy+Grafana日志分析系统的快速部署与实践

本文详细介绍了在Ubuntu 24.04系统上快速部署Loki+Alloy+Grafana轻量级日志分析系统的完整流程。通过二进制安装Loki、配置Alloy采集器以及设置Grafana可视化界面,构建了一套资源消耗低、易于管理的日志解决方案,并实战演示了如何采集和分析网络设备日志,特别适合资源有限的中小团队或边缘计算场景。

tensor9flow的博客 234

Java实现FTP文件上传和下载

一、背景 二、maven依赖 三、FTP工具类 3.1、主动模式(PORT) 3.2、被动模式(PASV) 四、验证 4.1、dos下操作FTP 4.2、FTP文件上传 4.3、FTP文件下载

嘉禾嘉宁papa 2万+

Ansys Lumerical | 薄膜铌酸锂电光调制器的仿真与优化

本文详细介绍了使用Ansys Lumerical进行薄膜铌酸锂电光调制器仿真与优化的全流程。从基础原理到电学仿真、光学模拟技巧,再到设计优化实战经验,帮助工程师掌握这一先进光电器件的仿真方法。重点解析了薄膜铌酸锂的Pockels效应和Mach-Zehnder结构设计,并提供了常见问题排查指南和最新发展动态。

vulkan6gpu的博客 1196

Java实现FTP的上传和下载!

java实现连接FTP服务器,实现文件的上传和下载!!!

m0_63216218的博客 4865

vit的cam和注意力图: VIT模型的可解释性

VIT的热力图怎么画

YI_SHU_JIA的博客 1万+

蓝牙开发那些事之ceva controller代码解读

对比ceva的经典蓝牙和ble的controller在软件上的差异点

袁赟的博客 1089

Java中FTP服务器实现文件的列表展示、文件的上传与下载

③启动从属进程来处理客户进程发来的请求。从属进程对客户进程的请求处理完毕后即 终止,但从属进程在运行期间根据需要还可能创建其他一些子进程。④回到等待状态,继续接受其他客户进程发来的请求。在新建账号中输入自己的用户名以及密码,并选择你所需要的权限。可以看到主机IP有三个,那是因为电脑中含有虚拟机,可以在控制面板中找到网络和 Internet选择网络连接,右键禁用虚拟机。①打开熟知端口(端口号为21),使客户进程能够连接上。②等待客户进程发出连接请求。

m0_73514610的博客 3364

基于freesurfer和3Dslicer的脑区分割与电极定位全流程解析(实战指南)

本文提供了一套基于FreeSurfer和3D Slicer的颅内电极定位实战指南。详细解析了从环境搭建、数据预处理、FreeSurfer脑区分割、影像配准,到3D Slicer中手动与自动化电极定位的全流程。重点介绍了如何利用FreeSurfer进行高精度脑区分割,并在3D Slicer中实现电极触点的可视化标记与坐标提取,最终获得带脑区信息的电极数据,为iEEG/SEEG研究奠定基础。

banana的博客 299

java操作ftp上传下载

文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层,TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。FTP也是一个应用程序,基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。可以使用FTP进行下载和上传。

客官不爱喝酒的博客 1215

Vulkan入门系列0- Vulkan与OpenGL的区别

虽然Vulkan和OpenGL都是对GPU的抽象,都能达到相同的功能,但它们的设计理念不同,可以说设计差异是非常之大,由于OpenGL从1992年到现在,已经有30多年的历史,GPU功能日新月异,与当年不可同日而语,在OpenGL保持向下兼容情况下,还要在OpenGL基础上设计一套编程接口显然是不可能的,所以推出了新编程规范Vulkan。另外在一些无窗口的应用中,Vulkan可以有选择的不创建帧缓冲区,比如在数学运算,物理模拟,处理视频流的应用中并不需要窗口,所以Vulkan支持更灵活的应用场景。

GPU全栈博主 4068

Allegro如何用自带的功能将线段变成铜皮操作指导

在做PCB设计的时候,有时根据设计需要将线段变成铜皮,可以借助辅助工具来实现这一操作,但是Allegro自身也自带这个功能,如下图。勾选Delete original objects。如何用自带的功能将线段变成铜皮操作指导。勾选Convert to shape,需要把这段走线变成铜皮。

weixin_54787054的博客 2946

Java从ftp服务器上传与下载文件

业务需要从ftp服务器上上传、下载、删除文件等功能,通过查阅资料及手动敲打代码,实现了操作ftp的基本功能,有需求的小伙伴可以看看具体的实现过程。摘自百度百科:文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。第一次进行文件上传或下载是正常的,当第二次进行文件上传或下载时,从FtpClient获取的输入流或输出流是空的。

Staba的博客 1万+

Qt Creator牵手DeepSeek,开启AI开发新征程

Qt Creator 是一款功能强大的跨平台集成开发环境(IDE),专为 Qt 应用程序开发量身定制。它支持在编程过程中使用 GitHub Copilot 等编码助手,能帮助开发者为桌面、移动端和嵌入式平台创建软件。在代码编辑方面,Qt Creator 具备代码补全、语法突出显示、重构等功能,内置文档也随手可得,极大提高了代码编写的效率和准确性。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 7186

JAVA 实现FTP功能_在Java程序中实现FTP功能

本文来演示在JAVA编程中实现FTP功能的三个重要部分内容的源程序:FtpList部分是用来显示FTP上的文件;GetButton部分为从FTP下传一个文件;PutButton部分为向FTP服务器上传一个文件。别忘了在程序中还要引入两个库文件(import sun.net.*,import sun.net.ftp.*)。以下是这三部分的JAVA源程序:1)显示FTP服务器上的文件void ftpL...

weixin_30495469的博客 675

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JAVA 实现FTP功能_Java实现ftp功能

Java实现ftp功能源代码:import sun.net.ftp.*;import sun.net.*;import java.awt.*;import java.awt.event.*;import java.applet.*;import java.io.*;public class FtpApplet extends Applet{FtpClient aftp;DataOutput...

weixin_30233335的博客 398

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

JAVA 实现FTP功能_java实现FTP功能(源代码)

importsun.net.ftp.*;importsun.net.*;importjava.awt.*;importjava.awt.event.*;importjava.applet.*;importjava.io.*;http://www.gaodaima.com/40377.htmljava实现FTP功能(源代码)publicclassFtpAppletextendsA...

weixin_42357916的博客 912

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

java jquery ftp上传_JAVA实现FTP文件上传功能

packagecom.sinosoft.sepmis.util;importjava.io.File;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStream;importorg.apache.commons.net.ftp.FTPClient;importorg.apache....

weixin_29274969的博客 254

在JAVA应用程序中如何实现FTP的功能

在JAVA应用程序中如何实现FTP的功能关于sun.net.ftp.FTPClient类文章摘自http://netspring.myrice.com/program/java/technic/022.htm在JAVA的编程中,您也许会遇到FTP方面的编程,本文就来演示如何实现它。 以下是这三部分的JAVA源程序。 1)显示FTP服务器上的文件 void ftpList_actio

newman0708的专栏 1910

Java中实现FTP上传下载文件的功能

 转自: 这个正好用在我的工作中,所以必须要转 一个JAVA 实现FTP功能的代码,包括了服务器的设置模块,并包括有上传文件至FTP的通用方法、下载文件的通用方法以及删除文件、在ftp服务器上穿件文件夹、检测文件夹是否存在等,里面的有些代码对编写JAVA文件上传或许有参考价值,Java FTP主文件代码: package ftpDemo; import

wangliwei4321的专栏 643

JAVA 实现FTP功能_java实现ftp功能?

packageorg.hanson.common.utils;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.FileOutputStream;importjava.io.IOException;importjava.io.InputS...

weixin_42499444的博客 160

用java实现ftp的功能

由于要在文件生成之后马上传送到ftp服务器上,只得在java程序中实现了。 本来提了一个使用ftp定时传送文件的方案,客户不接受,没辙,硬给客户逼着写了一个。 配置文件: configure.properties: #ftp定义ftp.host=ftp_server ftp.user=hxd ftp.password=hxd filename.fg=ftp.path=c:te

layman1024的博客 2457

如何在Java应用程序中实现FTP功能

alimama_pid="mm_10029469_121618_2142406"; alimama_titlecolor="0000FF"; alimama_descolor ="000000"; alimama_bgcolor="FFFFFF"; alimama_bordercolor="E6E6E6"; alimama_linkcolor="008000";

为天加朵云... 1043

java socket ftp登录_基于java socket的简单FTP功能实现

实现FTP的一些功能,如上传文件,下载文件,显示目录,改变目录,退出等功能import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.FileInputStrea...

weixin_42377742的博客 426

java中ftp上传、下载、重命名、删除功能实现

与尼尔森数据对接使用了ftp技术,特别留下l

生刍一束,其人如玉 的专栏 1万+

java实现FTP功能(源代码)

import sun.net.ftp.*; import sun.net.*; import java.awt.*; import java.awt.event.*; import java.applet.*; import java.io.*; public class FtpApplet extends Applet { FtpClient aftp; DataOutputStream out

Herr Apfel的专栏 2773

java ftp 上传文件_java实现ftp文件上传功能

package com.sinosoft.sepmis.util;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import org.apache.commons.net.ftp.FTPClient;import org.apache....

weixin_34513260的博客 587
上一篇: Shell中if判断语句
下一篇: storeFile与retrieveFile返回false解决办法
self_defining
博客等级 码龄10年 31粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值