首页 > 代码库 > org.apache.commons.net工具下 对ftp的简单操作

org.apache.commons.net工具下 对ftp的简单操作

/**	 * 连接ftp服务器	 * @param ip	IP地址	 * @param port	端口号	 * @param username	用户名	 * @param password	密码	 * @param ftpPath	ftp子目录	 * @throws IOException	 */	public int connectServer(String ip, int port, String username,			String password, String ftpPath) throws IOException {		system.out.println(this, "=============all_attributes==========="+"ip_"+ip+"port_"+port+"username_"+username+"password_"+password+"ftpPath_"+ftpPath);		int reply;		int connectFlag = 1;		try {						ftpClient.connect(ip, port);//连接FTP服务器    			 //如果采用默认端口,可以使用ftp.connect(url)的方式直接连接FTP服务器 			ftpClient.login(username, password); 			reply = ftpClient.getReplyCode(); 			if(!FTPReply.isPositiveCompletion(reply)){ 				ftpClient.disconnect(); 				connectFlag = 0; 				return connectFlag; 			} 			 ftpClient.changeWorkingDirectory(ftpPath);//转移到FTP服务器目录   						system.out.println(this, "=============connet_ftp_is_ok_falg_"+connectFlag+"===========");		} catch (Exception e) {			system.out.println(this, "=============connet_ftp_is_error"+connectFlag+"===========");		}			return connectFlag;	}----------------------------------------------------------------------------------------------------------------------------------------	/**	 * upload 上传文件	 * 	 * @throws	 java.lang.Exception	 * @return 	-1 文件不存在 -2 文件内容为空 >0 成功上传,返回文件的大小	 * @param newname	上传后的新文件名	 * @param filePath  上传的文件的路径	 */	public long upload(String localPath, String newFileName) throws Exception {		long result = 0;				try {			File file = new File(localPath);			if (!file.exists()) {				result = -1;//文件不存在			}			if (file.length() == 0) {				result = -2;//文件内容为空			}//			result = file.length(); 			is = new FileInputStream(file);			ftpClient.storeFile(newFileName, is); 			ftpClient.logout();			system.out.println(this, "========="+newFileName+"文件上传成功==========");		}catch (Exception e) {			e.printStackTrace();			system.out.println(this, "========="+newFileName+"文件上传失败==========");		}finally{					} 		return result;	}---------------------------------------------------------------------------------/**	 * 通过文件路径上传	 * @param filePath	 * @return	 * @throws Exception	 */	public long upload(String filePath) throws Exception {		String newname = "";		if (filePath.indexOf("/") > -1) {			newname = filePath.substring(filePath.lastIndexOf("/") + 1);		} else {			newname = filePath;		}		return upload(filePath, newname);	}----------------------------------------------/**	 * 	 * closeServer	 * 	 * 断开与ftp服务器的链接	 * 	 * @throws java.io.IOException	 */	public void closeServer() throws IOException	{		try {			if (is != null) {				is.close();			}			if (ftpClient != null)			{				ftpClient.disconnect();			}		} catch (IOException e) {			e.printStackTrace();		}	}-------------------------------------------------/**     * 读取文本文件.     *      */    public static String readTxtFile(File filePathAndName){        String read;        FileReader fileread;        try {            fileread = new FileReader(filePathAndName);            bufread = new BufferedReader(fileread);            try {                while ((read = bufread.readLine()) != null) {                    readStr = readStr + read+ "\r\n";                }            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        } catch (FileNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        System.out.println("文件内容是:"+ "\r\n" + readStr);        return readStr;    }------------------------------------------------------    /**     * 写文件.     *      */    public static void writeTxtFile(String newStr,File filePathAndName) throws IOException{        //先读取原有文件内容,然后进行写入操作        String filein = newStr + "\r\n" + readStr + "\r\n";        RandomAccessFile mm = null;        try {            mm = new RandomAccessFile(filePathAndName, "rw");            mm.writeBytes(filein);        } catch (IOException e1) {            // TODO 自动生成 catch 块            e1.printStackTrace();        } finally {            if (mm != null) {                try {                    mm.close();                } catch (IOException e2) {                    // TODO 自动生成 catch 块                    e2.printStackTrace();                }            }        }    }----------------------------------------------------/**	 * 	 * downloadFile	 * 	 * 下载ftp服务器的资源	 * @param   remoteFileName  待下载文件名称	 * @param  localDires 本里存放路径	 * @param  ftpPath ftp服务器存放要下载文件的子目录	 * 	 * @throws java.io.IOException	 */    public  void downloadFile(String remoteFileName,String localDires , String ftpPath ) throws IOException{        String strfilepath = localDires +"/"+ remoteFileName;    //写入地址 文件保存路径        BufferedOutputStream bf = null;           boolean success=false;               try {         	ftpClient.changeWorkingDirectory(ftpPath);            bf= new BufferedOutputStream(new FileOutputStream(strfilepath));                        system.out.println(this, "========="+remoteFileName+"开始下载==========");                        success = ftpClient.retrieveFile(remoteFileName,bf);  //下载操作//            ftpClient.logout();            if(success==true)            {            	system.out.println(this, "========="+remoteFileName+"成功下载到=========="+localDires);            }                    } catch (IOException e1) {            // TODO 自动生成 catch 块            e1.printStackTrace();        } finally {            if (null != bf) {                try {                	bf.flush();                    bf.close();                } catch (IOException e2) {                    // TODO 自动生成 catch 块                    e2.printStackTrace();                }            }        }         if(success=false)         {        	 system.out.println(this, "========="+remoteFileName+"下载失败==========");         }    }        -----------------------------------------

 

org.apache.commons.net工具下 对ftp的简单操作