`
cqh520llr
  • 浏览: 513100 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

java FTP上传文件,下载文件

 
阅读更多
package test;

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

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.net.ftp.FTPReply;

public class FTPNet {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		/*String url = "192.168.0.210";
		int port = 21;
		String username = "";
		String password = "";
		String remotePath = "/ebsdev/baojia/";
		String fileName = "baojia.txt";
		String localPath = "D:/FTP";
		downloadFile(url, port, username, password, remotePath, fileName, localPath);*/
		try {
			File file = new File(
					"C:\\Documents and Settings\\qhchen\\桌面\\up_images\\");
			File[] listFile = file.listFiles();
			for (File f : listFile) {
				FileInputStream in = new FileInputStream(f);
				boolean flag = uploadFile("124.248.238.180", 21, "a328670733",
						"", "/a328670733/web/images/up_images/",
						f.getName(), in);
				if (flag) {
					System.out.println(f.getName() + "---> 上传成功!");
				} else {
					System.out.println(f.getName() + "---> 上传失败!");
				}
			}
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * Description: 向FTP服务器上传文件
	 * @Version1.0 Jul 27, 2008 4:31:09 PM by 崔红保(cuihongbao@d-heaven.com)创建
	 * @param url FTP服务器hostname
	 * @param port FTP服务器端口
	 * @param username FTP登录账号
	 * @param password FTP登录密码
	 * @param path FTP服务器保存目录
	 * @param filename 上传到FTP服务器上的文件名
	 * @param input 输入流
	 * @return 成功返回true,否则返回false
	 */
	public static boolean uploadFile(String url,int port,String username, String password, String path, String filename, InputStream input) {
		boolean success = false;
		FTPClient ftp = new FTPClient();
		try {
			int reply;
			ftp.connect(url, port);//连接FTP服务器
			//如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器
			ftp.login(username, password);//登录
			reply = ftp.getReplyCode();
			if (!FTPReply.isPositiveCompletion(reply)) {
				ftp.disconnect();
				return success;
			}
			ftp.changeWorkingDirectory(path);
			ftp.storeFile(filename, input);			
			
			input.close();
			ftp.logout();
			success = true;
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (ftp.isConnected()) {
				try {
					ftp.disconnect();
				} catch (IOException ioe) {
				}
			}
		}
		return success;
	}
	
	/**  
	   * Description: 从FTP服务器下载文件  
	   * @Version1.0 Jul 27, 2008 5:32:36 PM by 崔红保(cuihongbao@d-heaven.com)创建  
	   * @param url FTP服务器hostname  
	   * @param port FTP服务器端口  
	   * @param username FTP登录账号  
	   * @param password FTP登录密码  
	   * @param remotePath FTP服务器上的相对路径  
	   * @param fileName 要下载的文件名  
	    * @param localPath 下载后保存到本地的路径  
	    * @return  
	    */  
	public static boolean downloadFile(String url, int port, String username,
			String password, String remotePath, String fileName,
			String localPath) {
		boolean success = false;
		FTPClient ftp = new FTPClient();
		try {
			int reply;

			// 连接FTP服务器
			if (port > -1) {
				ftp.connect(url, port);
			} else {
				ftp.connect(url);
			}

			ftp.login(username, password);// 登录
			reply = ftp.getReplyCode();
			if (!FTPReply.isPositiveCompletion(reply)) {
				ftp.disconnect();
				return success;
			}
			ftp.changeWorkingDirectory(remotePath);// 转移到FTP服务器目录
			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();
			success = true;
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (ftp.isConnected()) {
				try {
					ftp.disconnect();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		return success;
	}
}

分享到:
评论

相关推荐

    Java实现FTP文件上传和下载

    6. **文件下载**:使用`retrieveFile()`方法下载文件。这将返回一个OutputStream,你可以将其连接到本地文件或处理数据流。 ```java OutputStream out = new FileOutputStream("C:\\local\\downloaded_file.txt"); ...

    java ftp上传 下载 文件压缩解压

    这篇博客“java ftp上传 下载 文件压缩解压”很可能是关于如何使用Java实现FTP文件上传、下载以及文件的压缩与解压功能。下面我们将深入探讨这些知识点。 首先,FTP上传和下载是Java中常见的任务,通常通过`java...

    Java实现FTP批量大文件上传下载

    Java 实现 FTP 批量大文件上传下载 本文介绍了如何使用 Java 实现 FTP 服务器上的大批量文件的上传和下载,处理大文件的上传和下载。通过 Java 现有的可用的库来编写 FTP 客户端代码,并开发成 Applet 控件,做成...

    Java FTP 指定下载文件和上传文件到指定的服务器目录

    4. **下载文件**:调用`retrieveFile`方法完成文件下载操作。 #### 四、注意事项 1. **权限问题**:确保登录的FTP账户具有相应的读写权限。 2. **异常处理**:在实际开发中,应更加细致地处理异常情况,比如重试...

    Java实现FTP批量大文件上传下载.pdf

    Java实现FTP批量大文件上传下载 一、Java FTP客户端库的选择 在选择Java FTP客户端库时,需要考虑多个因素,例如性能、安全性、可靠性等。当前有多种FTP客户端库可供选择,例如J-FTP、SimpleFTP、FTPClient等。每...

    Java FTP文件上传下载

    Java FTP文件上传下载是Java开发中常见的网络编程任务,它涉及到Java语言的Socket编程和FTP(File Transfer Protocol)协议的应用。FTP是一种用于在网络上进行文件传输的标准协议,它允许客户端从服务器上获取文件...

    java编写的ftp文件实时监控下载上传

    用java语言编写的ftp小工具,可以按指定时间监控ftp服务器,把服务器指定目录内新产生的文件或者文件夹下载到本地指定文件夹,下载后删除数据。 也可以监控本地文件夹,把文件夹内新产生的文件或者文件夹整体上传到...

    Java上传下载ftp上的文件

    文件下载是上传的逆过程,我们需要指定远程文件路径,并将其内容保存到本地文件。以下是一个文件下载示例: ```java File downloadFile = new File("/path/to/download/file.txt"); OutputStream outputStream = ...

    java 连接 FTP 文件操作(上传,下载,删除,复制

    **文件下载** 下载文件则是通过`retrieveFile`方法,同样需要提供远程文件路径和一个本地文件流来接收数据。 ```java OutputStream fos = new FileOutputStream("localSavePath"); ftpClient.retrieveFile(...

    java实现的ftp文件上传

    首先,我们来看标题和描述中的关键词"java实现的ftp文件上传",这表明我们要讨论的是使用Java编程语言来实现在FTP服务器上上传文件的过程。Java提供了一个名为`java.net.Socket`的基本网络连接类,但直接使用它来...

    java实现Ftp批量下载文件及解压

    这个库提供了丰富的FTP操作API,包括连接、登录、文件上传和下载等。 1. **导入Apache Commons Net库**: 在项目中添加Apache Commons Net依赖,如果使用Maven,可以在pom.xml文件中添加以下依赖: ```xml ...

    javaftp上传文件.txt

    javaftp上传文件.txt javaftp上传文件.txt javaftp上传文件.txt

    java FTP服务器文件上传下载,创建多级文件夹.zip

    文件下载: ```java File outputFile = new File("本地保存路径"); if (ftpClient.isConnected()) { try { OutputStream outputStream = new FileOutputStream(outputFile); ftpClient.retrieveFile("服务器上...

    Java解析FTP服务器文本文件

    2. 文件下载:使用retrieveFile方法,从服务器上下载文件到本地目录。 3. 编码格式转换:因为FTP服务器上默认的编码方式为iso-8859-1,而本地操作系统的目录名和文件名默认的编码方式为GBK。因此,我们需要进行编码...

    JAVA获取FTP文件列表

    本文档将详细介绍一个基于Java的实用工具类`FtpClientUtil`,该类提供了一系列功能来与FTP服务器交互,包括连接到服务器、上传文件、下载文件、获取文件列表、删除文件和目录以及关闭连接等操作。 #### 二、`...

    使用java实现的linux和ftp服务器文件上传下载工具

    这是我使用java实现的linux和ftp服务器文件上传下载工具,需要电脑安装jdk8, 启动命令,java -jar linuxAndFtp.jar 启动成功后,浏览器访问:http://localhost:9999 服务器的账号密码通过服务器列表页面管理,添加的...

    java上传文件到ftp.txt

    ### Java上传文件到FTP知识点详解 #### 一、概述 在现代软件开发中,文件传输是一项常见的需求。其中,FTP(文件传输协议)是最常用的一种文件传输方式之一。本篇文章将详细阐述如何利用Java编程语言实现本地文件...

    java FTP 上传 下载 (中文 ) 文件

    4. **文件下载**: - 获取远程文件信息:`FTPFile[] files = ftp.listFiles(remoteFilePath);` - 输出文件流:`FileOutputStream fos = new FileOutputStream(localFilePath);` - 下载文件:`ftp.retrieveFile...

    用JAVA实现Ftp文件上传下载

    在`TestFtpUpload`文件中,可以编写单元测试或集成测试来验证FTP上传和下载功能。例如,你可以创建一个测试类`FtpOperationsTest`,包含如下方法: ```java import org.junit.jupiter.api.Test; import org.apache....

    java写的ftp下载上传定时监控

    Java作为多平台支持的编程语言,提供了丰富的库和工具来实现FTP功能,包括下载、上传文件以及定时监控等操作。本篇文章将深入探讨如何使用Java进行FTP文件传输,并涉及自动解压和压缩的功能。 首先,让我们关注Java...

Global site tag (gtag.js) - Google Analytics