ftp下載java
好像需要一個支持jar包把,把ftp4j的下載地址貼出來
㈡ java FTP下載文件在代碼中如何實現知道下載完成
(KmConfigkmConfig,StringfileName,StringclientFileName,OutputStreamoutputStream){
	try{
		StringftpHost=kmConfig.getFtpHost();
		intport=kmConfig.getFtpPort();
		StringuserName=kmConfig.getFtpUser();
		StringpassWord=kmConfig.getFtpPassword();
		Stringpath=kmConfig.getFtpPath();
		FtpClientftpClient=newFtpClient(ftpHost,port);//ftpHost為FTP伺服器的IP地址,port為FTP伺服器的登陸埠,ftpHost為String型,port為int型。
		ftpClient.login(userName,passWord);//userName、passWord分別為FTP伺服器的登陸用戶名和密碼
		ftpClient.binary();
		ftpClient.cd(path);//path為FTP伺服器上保存上傳文件的路徑。
		try{
			TelnetInputStreamin=ftpClient.get(fileName);
			byte[]bytes=newbyte[1024];
			intcnt=0;
			while((cnt=in.read(bytes,0,bytes.length))!=-1){
				outputStream.write(bytes,0,cnt);
			}
			//##############################################
			//這里文件就已經下載完了,自己理解一下
			//#############################################
			
			outputStream.close();
			in.close();
		}catch(Exceptione){
			ftpClient.closeServer();
			e.printStackTrace();
		}
		ftpClient.closeServer();
	}catch(Exceptione){
		System.out.println("下載文件失敗!請檢查系統FTP設置,並確認FTP服務啟動");
	}
}
㈢ 用java編寫ftp下載,求解list<Object>問題
我覺的是傳來的list為null,所以會空指針異常,你的先判斷
if(list!=null){
 for (int i = 0; i < list.size() ; i++) {
                Object[] os = list.get(i);
   String fileName = (String) os[0];
   String relPath = (String) os[1];
   String midPath = "/data/edocs/WORKING/NORMAL";
   String remotePath = strFtp + midPath + relPath; // FTP上要下載的文                      件路徑,不包括文件名
   ftp.downFile(remotePath, fileName, savePath);
}
}
㈣ java FTP下載問題
檢查一下是否timeout時間設置過短。不要設置內存或者處理器限制。 還有在IIS的metabase資料庫中找一下FTP的設置,在那裡找配置文件修改最直接。 
通過CFtpFileFind 得到文件的URL之後,然後通過CHttpFile::QueryInfo 得到文件大小。
㈤ 用java完成文件ftp上傳下載
使用rt.jar中的sun.net.FtpClient類來實現對FTP伺服器的文件上傳下載
㈥ java ftp批量下載異常
我之前也遇到過這樣的事,通過FTP獲取文件的二進制流有限制,獲取第二個流的時候需要斷掉鏈接後再重新連接伺服器讀取流
㈦ java FTP下載
檢查一下是否timeout時間設置過短。不要設置內存或者處理器限制。 還有在IIS的metabase資料庫中找一下FTP的設置,在那裡找配置文件修改最直接。 
通過CFtpFileFind 得到文件的URL之後,然後通過CHttpFile::QueryInfo 得到文件大小。
求採納為滿意回答。
㈧ ftp java 下載的時候怎麼保存到指定位置
通過工具類來實現本地路徑定義和下載即可。
import hkrt.b2b.view.util.Log;
import hkrt.b2b.view.util.ViewUtil;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
public class CCFCCBFTP {
    /**
     * 上傳文件
     *
     * @param fileName
     * @param plainFilePath 明文文件路徑路徑
     * @param filepath
     * @return 
     * @throws Exception
     */
    public static String fileUploadByFtp(String plainFilePath, String fileName, String filepath) throws Exception {
        FileInputStream fis = null;
        ByteArrayOutputStream bos = null;
        FTPClient ftpClient = new FTPClient();
        String bl = "false";
        try {
            fis = new FileInputStream(plainFilePath);
            bos = new ByteArrayOutputStream(fis.available());
            byte[] buffer = new byte[1024];
            int count = 0;
            while ((count = fis.read(buffer)) != -1) {
                bos.write(buffer, 0, count);
            }
            bos.flush();
            Log.info("加密上傳文件開始");
            Log.info("連接遠程上傳伺服器"+CCFCCBUtil.CCFCCBHOSTNAME+":"+22);
            ftpClient.connect(CCFCCBUtil.CCFCCBHOSTNAME, 22);
            ftpClient.login(CCFCCBUtil.CCFCCBLOGINNAME, CCFCCBUtil.CCFCCBLOGINPASSWORD);
            FTPFile[] fs;
            fs = ftpClient.listFiles();
            for (FTPFile ff : fs) {
                if (ff.getName().equals(filepath)) {
                    bl="true";
                    ftpClient.changeWorkingDirectory("/"+filepath+"");
                }
            }
             Log.info("檢查文件路徑是否存在:/"+filepath);
             if("false".equals(bl)){
                 ViewUtil.dataSEErrorPerformedCommon( "查詢文件路徑不存在:"+"/"+filepath);
                  return bl;
            }
            ftpClient.setBufferSize(1024);
            ftpClient.setControlEncoding("GBK");
            // 設置文件類型(二進制)
            ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
            ftpClient.storeFile(fileName, fis);
            Log.info("上傳文件成功:"+fileName+"。文件保存路徑:"+"/"+filepath+"/");
            return bl;
        } catch (Exception e) {
            throw e;
        } finally {
            if (fis != null) {
                try {
                    fis.close();
                } catch (Exception e) {
                    Log.info(e.getLocalizedMessage(), e);
                }
            }
            if (bos != null) {
                try {
                    bos.close();
                } catch (Exception e) {
                    Log.info(e.getLocalizedMessage(), e);
                }
            }
        }
    
    }
    /**
     *下載並解壓文件
     *
     * @param localFilePath
     * @param fileName
     * @param routeFilepath
     * @return 
     * @throws Exception
     */
    public static String fileDownloadByFtp(String localFilePath, String fileName,String routeFilepath) throws Exception {
        FileInputStream fis = null;
        ByteArrayOutputStream bos = null;
        FileOutputStream fos = null;
        FTPClient ftpClient = new FTPClient();
        String SFP = System.getProperty("file.separator");
        String bl = "false";
        try {
            Log.info("下載並解密文件開始");
            Log.info("連接遠程下載伺服器"+CCFCCBUtil.CCFCCBHOSTNAME+":"+22);
            ftpClient.connect(CCFCCBUtil.CCFCCBHOSTNAME, 22);
            ftpClient.login(CCFCCBUtil.CCFCCBLOGINNAME, CCFCCBUtil.CCFCCBLOGINPASSWORD);
CMBCUtil.CMBCLOGINPASSWORD);
            FTPFile[] fs;        
            
            ftpClient.makeDirectory(routeFilepath);
            ftpClient.changeWorkingDirectory(routeFilepath);
            bl = "false";
            fs = ftpClient.listFiles();
            for (FTPFile ff : fs) {
                if (ff.getName().equals(fileName)) {
                        bl = "true";
                        Log.info("下載文件開始。");
                        ftpClient.setBufferSize(1024);
                        // 設置文件類型(二進制)
                        ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
                        InputStream is = ftpClient.retrieveFileStream(fileName);
                        bos = new ByteArrayOutputStream(is.available());
                        byte[] buffer = new byte[1024];
                        int count = 0;
                        while ((count = is.read(buffer)) != -1) {
                            bos.write(buffer, 0, count);
                        }
                        bos.flush();
                        fos = new FileOutputStream(localFilePath+SFP+fileName);
                        fos.write(bos.toByteArray());
                        Log.info("下載文件結束:"+localFilePath);
                }
            }
            Log.info("檢查文件是否存:"+fileName+"  "+bl);
            if("false".equals(bl)){
                 ViewUtil.dataSEErrorPerformedCommon("查詢無結果,請稍後再查詢。");
                 return bl;
            }
          return bl;
        } catch (Exception e) {
            throw e;
        } finally {
            if (fis != null) {
                try {
                    fis.close();
                } catch (Exception e) {
                    Log.info(e.getLocalizedMessage(), e);
                }
            }
            if (bos != null) {
                try {
                    bos.close();
                } catch (Exception e) {
                    Log.info(e.getLocalizedMessage(), e);
                }
            }
            if (fos != null) {
                try {
                    fos.close();
                } catch (Exception e) {
                    Log.info(e.getLocalizedMessage(), e);
                }
            }
        }
    }
//       調用樣例:
    public static void main(String[] args) {
        try {
            // 明文文件路徑
            String plainFilePath = "D:/req_20150204_0011.txt";
            // 密文文件路徑
            String secretFilePath = "req_20150204_00134.txt";
          fileDownloadByFtp("D://123.zip","123.zip","req/20150228");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
㈨ 用java實現ftp下載,路徑的問題,很暈
ftpClient.changeWorkingDirectory(」20110814「),你應該這么寫,如果用/開頭表示是絕對路徑,而 20110814表示是相對路徑,你看下絕對路徑跟相對路徑就明白了
