`
tanjw
  • 浏览: 15208 次
社区版块
存档分类
最新评论

java FTPClient 文件服务器

    博客分类:
  • java
阅读更多
public class FileUtils {

	/**
	 * @param ip       FTP 服务器IP
	 * @param port     FTP 服务使用的端口
	 * @param username 登录服务器的用户名
	 * @param password 登录使用的密码
	 * @param file     要进行上传的文件
	 * @param fileName 文件的存储名称
	 * @param path     文件在服务器的存储路径, 如果不存在则创建目录
	 * @throws Exception
	 */
	public static void uploadFiles(String ip, int port, String username, String password, File file, String fileName,String path ) throws Exception {
		FTPClient ftpClient = null;
		FileInputStream ins =  new FileInputStream(file) ;
		try {
			ftpClient = new FTPClient();
                        /// 链接文件服务器
			ftpClient.connect(ip, port);  
                        /// 登录文件服务器
			boolean result = ftpClient.login(username, password);
			if(!result){
				throw new Exception("文件服务器用户名或密码不正确");
			}
                        /// 设置文件服务器上传格式
			ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
                        /// 切换到指定的目录
			boolean changeWorkPath = ftpClient.changeWorkingDirectory(path) ;
                        /// 如果切换不成功则创建目录
			if (!changeWorkPath) {
				boolean change = createDirectory(path , ftpClient) ;
				if(!change){
					throw new Exception("文件服务器切换工作目录失败");
				}
			}
                        /// 进行文件传送
			if (ftpClient.storeFile(fileName,ins)) {
			} else {
				throw new Exception("文件上传失败!");
			}
		} finally {
			if (ftpClient != null){
				if (ftpClient.isConnected()) {
					try {/// 关闭链接
						ftpClient.disconnect();
					} catch (IOException ioe) {
						ioe.printStackTrace();
						throw ioe;
					}
				}
			}
			if(ins != null ){
				ins.close() ;
			}
		}
	}
	/**
	 * 在ftp服务器创建目录
	 */
	public static boolean createDirectory(String path, FTPClient ftpClient)
			throws IOException {
		boolean flag = false ;
		String[] pathes = path.split("/") ;
		for (int i = 0; i < pathes.length; i++) {
			ftpClient.makeDirectory(pathes[i]);
			flag = ftpClient.changeWorkingDirectory(pathes[i]);
		}
		return flag ;
	}
}

         附件:所需要的 jar commons-net.jar

分享到:
评论

相关推荐

    apache java ftpclient

    最近做了一个JAVA FTP协议 APACHE包内,上传,下载,查看,删除文件和目录的东西,拿出来给不明白的同学分享一下,希望得到帮助。搭建好服务器后,运行代码实现相应功能。

    获取ftp服务器文件的大小

    获取ftp服务器文件的大小,从而可以设置下载的进度条

    Java FtpClient 实现文件上传服务

    本文主要对Java FtpClient实现简单的图片上传到服务器的方法进行介绍,并且展示的小demo中,对配置过程中主要碰到的问题:关于文件权限的问题也进行了说明,下面跟着小编一起来看下吧

    java编写的ftpclient,用于向ftp发送、获取文件

    java编写的ftpclient,用于向ftp服务器发送、获取文件。本人亲自测试过,操作系统采用centos6.5 64位,

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

    java实现连接登录Ftp,下载Ftp指定文件夹下的所有文件,并解压所有压缩文件,同时支持对指定文件夹进行文件压缩

    JAVA中的FtpClient与FTPClient,并实现jsp面下载ftp服务器上的文件.docx

    JAVA中的FtpClient与FTPClient,并实现jsp面下载ftp服务器上的文件.docx

    java大文件上传至ftp服务器带进度条显示的

    java大文件上传至ftp服务器带进度条显示的,进度条的显示和ftp的上传速度同步,解决了进度条显示和ftp不同步的问题

    解决ftpClient.listFiles()结果为空的问题

    CentOS某些版本中,JAVA代码执行ftpClient.listFiles()有时结果为空。本项目解决了这个问题。具体代码思路可以参考博客:http://blog.csdn.net/yingprince/article/details/51275956

    详解JAVA中使用FTPClient工具类上传下载

    主要介绍了JAVA中使用FTPClient工具类上传下载的相关资料,java 使用FTP服务器上传文件、下载文件,需要的朋友可以参考下

    获取FTP服务器上的文件大小源码

    获取FTP服务器上的文件大小源码 只需修改服务器地址 用户名及密码

    (Java)FTP多线程下载源代码

    实现了FTP多线程下载,并有简单的包括进度条的界面,代码的运行:1 把自己的PC配置成FTP服务器(只需下载Serc-U软件)2 建立用户,用户名:zhangyu,密码:123,设置根目录,并拷贝进一些文件(这就是FTP服务器上的要...

    使用FTPClient实现ftp文件上传

    本项目使用org.apache.commons.net.ftp.FTPClient实现文件上传到ftp服务器,解决不能上传中文文件的问题。

    java定时从ftp服务器更新相关文件

    远程ftp服务器会更新某目录下的一些文件,本地服务器需要定时下载这些更新后的文件 由最后修改时间判断该文件是不是最新的,然后下载更新的文件,这样可避免重复下载。 有jar包,有实例,完整可运行实例

    Java中FTPClient上传中文目录、中文文件名乱码问题解决方法

    主要介绍了Java中FTPClient上传中文目录、中文文件名乱码问题解决方法,本文使用apache-commons-net工具包时遇到这个问题,解决方法很简单,需要的朋友可以参考下

    java web FTPClient实现上传文件到指定服务器

    主要为大家详细介绍了java web FTPClient实现上传文件到指定服务器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    JAVA中使用FTPClient实现文件上传下载

    在JAVA程序中,经常需要和FTP打交道,比如向FTP服务器上传文件、下载文件,本文简单介绍如何利用jakarta commons中的FTPClient(在commons-net包中)实现上传下载文件。  一、上传文件  原理不介绍了,大家直接...

    java源码包3

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    java源码包---java 源码 大量 实例

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    直销软件java源码下载-FtpClient:客户端

    服务器下载文本文件以显示在您的应用程序中。 将文本文件上传到 FTP 服务器。 将插件添加到您的项目中 使用此插件需要 . 要安装该插件,请将 www/ftpclient.js 移动到项目的 www 文件夹中,并在 phonegap.js 之后的 ...

    JAVA上百实例源码以及开源项目

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

Global site tag (gtag.js) - Google Analytics