javaftp上传下载

原创 2013年12月04日 10:14:16
public static FTPClient getFtpClient(String address, int port,
			String uname, String pwd , String encoding) throws Exception {
		FTPClient client = null;

		client = new FTPClient();
		client.connect(address, port);
		boolean islogin = client.login(uname, pwd);
		if (!islogin) {
			throw new Exception("帐号或者密码错误");
		}
		client.setControlEncoding( encoding);
		
		return client; 
	}
	
	/**
	 * FTP文件递归 
	 * @throws Exception 
	 * */
	public static List<String> ftpRecursive(FTPClient client,String dir, String localDir) throws Exception{
		List<String> fileNames = new Vector<String>( ) ; 
		FTPFile[]ftpFiles=client.listFiles( dir ) ;
		for(FTPFile file : ftpFiles){
			String name = dir + "/" + file.getName() ;  
			if(file.isDirectory()){
				ftpRecursive(client, dir, name ) ; 
			}else{
				File localFile = new File( localDir + name); 
				if(!localFile.exists()){
					downFile(client, name , localFile) ;   
				}
			}
		}
		return fileNames ; 
	}
	
	public static void downFile(FTPClient client , String fileName,File localFile){
		try {
			System.out.println( "正在下载文件:" +  fileName ); 
			localFile.getParentFile().mkdirs() ;
			InputStream is = client.retrieveFileStream( fileName ) ; 
			if(is == null){
				System.out.println( "下载失败" + fileName ); 
				return ;
			}
			OutputStream os = new FileOutputStream( localFile );  
			int len = -1 ; 
			byte[]buffer = new byte[1024]; 
			int all = 0 ; 
			while( (len = is.read(buffer)) != -1 ){
				all += len ;
				System.out.println( "下载:" + all ); 
				os.write(buffer, 0 , len ) ; 
			}
			os.flush() ;
			os.close();
			is.close();
		} catch (Exception e) {
			e.printStackTrace() ;
		}
	}
	/**javaftp上传*/
	public static boolean upload(FTPClient client,String localFile,String remoteName){
		try {
			File file = new File( localFile ); 
			if(file.exists()){
				InputStream local = new FileInputStream(file);
				
				return client.appendFile(remoteName, local) ; 
			}
		}catch(Exception e) {
			e.printStackTrace();
		}
		return false ;
	}
	
	public static void main(String[] args)throws Exception {
		FTPClient client =  FTP.getFtpClient( "a.iding.me", 21, "aaa", "aaavvv" , "UTF-8" ) ;  
		
		//System.out.println( FTP.ftpRecursive( client , dir , localDir).size() );  
		System.out.println( FTP.upload(client , 
				"E:/soft/down/记事本.txt" , "/记事本.txt" ) ) ; 
	}

javaFTP上传下载

  • 2013年12月04日 10:45
  • 612KB
  • 下载

JavaFTP上传下载

  • 2015年11月12日 15:24
  • 337KB
  • 下载

使用Apache Commons Net包中的FTPClient实现javaFTP来上传目录(新)

ftpconfig.properties username=admin password=123 ip=192.168.14.117 port=21 实现类

javaFTP文件上传

  • 2013年06月19日 09:22
  • 6KB
  • 下载

javaftp上传

  • 2016年03月09日 11:46
  • 6.55MB
  • 下载

使用Apache Commons Net包中的FTPClient实现javaFTP来上传目录(新)

package com.util;      import java.io.*;   import java.net.SocketException;   import java.text.S...

使用Apache Commons Net包中的FTPClient实现javaFTP来上传目录

复杂的地方体现在文件夹的上传。

javaftp上传文件.txt

  • 2017年11月29日 17:10
  • 3KB
  • 下载

JDK1.7以上javaFTP上传删除文件

package com.itv.launcher.util;   import java.io.File; import java.io.FileInputStream; import ...

使用Apache Commons Net包实现javaFTP来上传目录

转自:http://lavasoft.blog.51cto.com/62575/100386/ 使用Apache Commons Net包实现javaFTP来上传目录   ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javaftp上传下载
举报原因:
原因补充:

(最多只允许输入30个字)