锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲免费黄色网址,亚洲精品国产摄像头,亚洲色av性色在线观无码http://www.tkk7.com/qbna350816/category/55061.html201103zh-cnSat, 25 Jun 2016 00:44:16 GMTSat, 25 Jun 2016 00:44:16 GMT60ftp4j 1.7 鎵嬪唽http://www.tkk7.com/qbna350816/archive/2016/06/21/430984.html鑳″皬鍐?/dc:creator>鑳″皬鍐?/author>Tue, 21 Jun 2016 14:34:00 GMThttp://www.tkk7.com/qbna350816/archive/2016/06/21/430984.htmlhttp://www.tkk7.com/qbna350816/comments/430984.htmlhttp://www.tkk7.com/qbna350816/archive/2016/06/21/430984.html#Feedback0http://www.tkk7.com/qbna350816/comments/commentRss/430984.htmlhttp://www.tkk7.com/qbna350816/services/trackbacks/430984.html

瑕佹眰

瑕佽繍琛宖tp4j library錛屼綘闇瑕丣ava 榪愯鏃剁幆澧僾. 1.4+.

瀹夎

灝唂tp4j JAR鏂囦歡娣誨姞鍒頒綘搴旂敤紼嬪簭鐨刢lasspath涓? 鐒跺悗浣犲氨鍙互鑷姩鍚敤ftp4j綾葷殑浣跨敤浜?

Javadocs

鍙弬鑰?/span>ftp4j javadocs.

蹇熷叆闂?/span>

鍖呬腑鐨勪富綾繪槸FTPClient (it.sauronsoftware.ftp4j.FTPClient).

鍒涘緩涓涓?/span>FTPClient 瀹炰緥錛?/p>

FTPClient client = new FTPClient();

榪炴帴榪滅▼FTP鏈嶅姟:

client.connect("ftp.host.com");

濡傛灉鏈嶅姟绔彛涓嶆槸鏍囧噯鐨?1绔彛 (鎴?FTPS鐨?90绔彛)錛岄渶瑕佷嬌鐢╬ort鍙傛暟榪涜鎸囧畾:

client.connect("ftp.host.com", port);

濡?

client.connect("ftp.host.com", 8021);

鐒跺悗榪涜鐧誨綍嫻佺▼:

client.login("carlo", "mypassword");

濡傛灉娌℃湁鎶涘嚭浠諱綍寮傚父鐨勮瘽錛岄偅涔堜綘灝遍氳繃榪滅▼鏈嶅姟鍣ㄧ殑璁よ瘉浜?鍚﹀垯錛屽鏋滈獙璇佸け璐ワ紝浣犲皢浼氭敹鍒?/span>it.sauronsoftware.ftp4j.FTPException寮傚父.

鍖垮悕璁よ瘉錛屽鏋滆榪炴帴鏈嶅姟璁ゅ彲鐨勮瘽錛?鍙氳繃鍙戦佺敤鎴峰悕"anonymous" 鍜屼換鎰忓瘑鐮佹潵瀹屾垚(娉ㄦ剰錛屾湁浜涙湇鍔″櫒闇瑕乪-mail鍦板潃鏉ヤ唬鏇垮瘑鐮?:

client.login("anonymous", "ftp4j");

浣跨敤榪滅▼FTP鏈嶅姟鏉ュ仛浠諱綍浜嬫儏錛岀劧鍚庡啀鏂紑榪炴帴:

client.disconnect(true);

榪欎細鍚戣繙紼嬪櫒鍙戦丗TP QUIT鍛戒護, 浠ヨ繘琛屼竴涓悎娉曟柇寮嫻佺▼.濡傛灉浣犲彧鏄兂涓柇榪炴帴鑰屼笉鎯沖悜鏈嶅姟鍣ㄥ彂閫佷換浣曢氱煡錛岄偅涔堝彲浠ヤ嬌鐢?

client.disconnect(false);

浣跨敤浠g悊榪涜榪炴帴

瀹㈡埛绔氳繃榪炴帴鍣紙涓涓戶鎵胯嚜it.sauronsoftware.ftp4j.FTPConnector鐨勫璞?/em>錛夋潵榪炴帴鏈嶅姟鍣? 瀹冨皢榪斿洖涓涓凡緇忔墦寮鐨勮繛鎺?涓涓疄鐜頒簡it.sauronsoftware.ftp4j.FTPConnection 鎺ュ彛鐨勫璞?.榪欎篃鏄負浠涔坒tp4j 鍙互鏀寔澶ч噺浠g悊鐨勫師鍥?

鍦ㄨ繛鎺ヨ繙紼嬫湇鍔″櫒鍓嶏紝瀹㈡埛绔疄渚嬪彲浠ヤ嬌鐢╯etConnector() 鏂規(guī)硶鏉ヨ緗繛鎺ュ櫒:

client.setConnector(anyConnectorYouWant);

濡傛灉娌℃湁璁劇疆榪炴帴鍣ㄧ殑璇濓紝浼氫嬌鐢ㄩ粯璁ょ殑榪炴帴鍣?/span>DirectConnector (it.sauronsoftware.ftp4j.connectors.DirectConnector), 瀹冨疄鐜頒簡瀵硅繙紼嬫湇鍔″櫒鐨勭洿鎺ヨ繛鎺ワ紝涓斾笉浼氫嬌鐢ㄤ唬鐞嗐?/p>

濡傛灉浣犲彧鑳介氳繃浠g悊鏉ヨ繛鎺ヨ繙紼嬫湇鍔″櫒, ftp4j鍖呭彲浠ヨ浣犲湪涓嬮潰鐨勮繛鎺ュ櫒涓繘琛岄夋嫨:

  • HTTPTunnelConnector (it.sauronsoftware.ftp4j.connectors.HTTPTunnelConnector)
    瀹冨彲浠ラ氳繃HTTP浠g悊鏉ヨ繘琛岃繛鎺ワ紝騫舵敮鎸丆ONNECT鏂規(guī)硶.
  • FTPProxyConnector (it.sauronsoftware.ftp4j.connectors.FTPProxyConnector)
    瀹冨彲浠ラ氳繃FTP浠g悊榪涜榪炴帴,鏀寔SITE鍜孫PEN鍛戒護椋庢牸鐨勮嫑鍒昏繙紼嬩富鏈鴻繛鎺?鍏跺畠綾誨瀷鐨凢TP浠g悊,闇瑕?em style="background-color: inherit;">username@remotehost
     璁よ瘉錛屼笖鍙互涓嶄嬌鐢ㄨ繛鎺ュ櫒錛屽洜涓哄畠浠浜庡鎴風鏉ヨ鏄忔槑鐨勩?/li>
  • SOCKS4Connector (it.sauronsoftware.ftp4j.connectors.SOCKS4Connector)
    瀹冨彲浠ラ氳繃SOCKS 4/4a浠g悊榪涜榪炴帴.
  • SOCKS5Connector (it.sauronsoftware.ftp4j.connectors.SOCKS5Connector)
    瀹冨彲浠ラ氳繃SOCKS 5浠g悊榪涜榪炴帴.

鍥犱負ftp4j鐨勮繛鎺ュ櫒鏋舵瀯璁捐涓哄彲鎻掓嫈鐨勶紝鍥犳浣犲彲浠ョ戶鎵?/span>FTPConnector 鎶借薄綾繪潵鏋勫緩鑷繁鐨勮繛鎺ュ櫒.

FTPS/FTPES 瀹夊叏榪炴帴

ftp4j鍖呮敮鎸丗TPS (闅愬紡鍩轟簬 TLS/SSL鐨凢TP) 鍜孎TPES (鏄劇ず鍩轟簬TLS/SSL鐨凢TP).

setSecurity() 鏂規(guī)硶鍙敤鏉ユ墦寮榪欑鐗規(guī)?

client.setSecurity(FTPClient.SECURITY_FTPS); // 鍚敤 FTPS
client.setSecurity(FTPClient.SECURITY_FTPES); // 鍚敤 FTPES

涓や釜鏂規(guī)硶閮介渶瑕佸湪榪炴帴榪滅▼鏈嶅姟鍣ㄥ墠璋冪敤.

濡傛灉瀹夊叏鍗忚璁劇疆鎴愪簡SECURITY_FTPS, 鍒?em>connect() 鏂規(guī)硶榛樿浣跨敤鐨勭鍙d負990.

榛樿鎯呭喌涓嬶紝瀹㈡埛绔璞″晢璁⊿SL榪炴帴浼氫嬌鐢?/span>javax.net.ssl.SSLSocketFactory.getDefault()浣滀負鍏跺鎺ュ瓧宸ュ巶.鍙氳繃璋冪敤client.setSSLSocketFactory()鏂規(guī)硶鏉ユ敼鍙橀粯璁ゅ鎺ュ瓧宸ュ巶. 鍙﹀涓縐?em style="background-color: inherit;">SSLSocketFactory, 鍙敤鏉ヤ俊浠昏繙紼嬫湇鍔″櫒棰佸彂鐨勮瘉涔?璋ㄦ厧浣跨敤):

import it.sauronsoftware.ftp4j.FTPClient;
import java.security.KeyManagementException;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.security.cert.X509Certificate;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
// ... TrustManager[] trustManager = new TrustManager[] { new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() { return null;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) { }
public void checkServerTrusted(X509Certificate[] certs, String authType) { } } };
SSLContext sslContext = null;
try { sslContext = SSLContext.getInstance("SSL");
sslContext.init(null, trustManager, new SecureRandom());
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyManagementException e) {
e.printStackTrace();
}
SSLSocketFactory sslSocketFactory = sslContext.getSocketFactory();
FTPClient client = new FTPClient();
client.setSSLSocketFactory(sslSocketFactory);
client.setSecurity(FTPClient.SECURITY_FTPS);
// or client.setSecurity(FTPClient.SECURITY_FTPES); // ...

嫻忚榪滅▼绔欑偣

鑾峰彇褰撳墠鐩綍鐨勭殑緇濆璺緞錛堟鐩綍鏄疐TP鏈嶅姟鍣ㄧ殑home鐩綍錛?

String dir = client.currentDirectory();

鏀瑰彉鐩綍:

client.changeDirectory(newPath);

浣犲彲浠ヤ嬌鐢ㄧ粷瀵硅礬寰勫拰鐩稿璺緞:

client.changeDirectory("/an/absolute/one"); 
client.changeDirectory("relative");

鍥炲埌鐖剁洰褰?

client.changeDirectoryUp();

閲嶅懡鍚嶆枃浠跺拰鐩綍

瑕侀噸鍛藉悕榪滅▼鏂囦歡鎴栫洰褰?

client.rename("oldname", "newname");

縐誨姩鏂囦歡鍜屾枃浠跺

rename() 鏂規(guī)硶涔熷彲浠ョ敤鏉ヤ粠褰撳墠浣嶇疆縐誨姩鏂囦歡鎴栫洰褰曞埌鍏跺畠浣嶇疆.

鍦ㄨ繖涓緥瀛愬瓙錛屽亣璁懼湪褰撳墠宸ヤ綔鐩綍涓紝浣犳湁涓涓悕涓?myfile.txt"鐨勬枃浠?鐒跺悗浣犳兂灝嗗叾縐誨姩鍒板瓙鐩綍"myfolder"涓?

client.rename("myfile.txt", "myfolder/myfile.txt");

鍒犻櫎鏂囦歡

瑕佸垹闄よ繙紼嬫枃浠訛紝闇瑕佽皟鐢?

client.deleteFile(relativeOrAbsolutePath);

鍦ㄨ繖涓緥瀛愪腑:

client.deleteFile("useless.txt");

鍒涘緩銆佸垹闄ょ洰褰?/span>

濡傛灉榪滅▼鏈嶅姟緇欎綘鏈轟細鐨勮瘽錛屼綘鍙互鍦ㄨ繙紼嬬珯鐐逛笂鍒涘緩鏂扮洰褰?

client.createDirectory("newfolder");

浣犱篃鍙互宸插瓨鍦ㄧ殑鐩綍:

client.deleteDirectory(absoluteOrRelativePath);

鍦ㄨ繖涓緥瀛愪腑:

client.deleteDirectory("oldfolder");

璇鋒敞鎰忥紝閫氬父鎯呭喌涓嬶紝FTP 鏈嶅姟鍣ㄥ彧鍏佽鍒犻櫎絀虹洰褰?

鍒楀嚭鏂囦歡銆佺洰褰曘佽繛鎺?/span>

FTP 鍗忚騫朵笉浼氭彁渚涘ぇ閲忔敮鎸佹柟娉曟潵鑾峰彇宸ヤ綔鐩綍鐨勫畬鏁翠俊鎭?閫氬父LIST鍛戒護浼氱粰浣犳兂鐭ラ亾鐨勪笢瑗匡紝浣嗕笉杈涚殑鏄紝姣忎釜鏈嶅姟鍣ㄤ細浣跨敤涓嶅悓鏍峰紡鐨勫搷搴? 榪欐剰鍛崇潃鏌愪簺鏈嶅姟鍣ㄤ細榪斿洖UNIX鏍峰紡鐨勭洰褰曪紝鏈変簺鏈嶅姟鍣ㄤ細榪斿洖DOS鏍峰紡鐨勭洰褰?鍏跺畠鐨勬湇鍔″櫒鍙堜細浣跨敤鍒殑鏍峰紡.

ftp4j 鍖呭彲浠ュ鐞嗚澶氱殑LIST鍝嶅簲鏍煎紡, 騫跺皢瀹冧滑鏋勫緩鎴愮粺涓鐩綍鍐呭鐨勭粨鏋勫璞¤〃紺?/span>.褰撳墠ftp4j鍙互澶勭悊:

  • UNIX 鏍峰紡鍙婂叾鍙樼(濡侻AC鏍峰紡)
  • DOS 鏍峰紡
  • NetWare 鏍峰紡
  • EPLF
  • MLSD

榪欏彲浠ラ氳繃浣跨敤鍙彃鎷旂殑parsers鏉ュ畬鎴?鍖?/span>it.sauronsoftware.ftp4j.listparsers鍖呭惈浜嗙敤浜庡鐞嗕笂榪版牱寮忕殑瀵硅薄.澶у鏁版椂闂達紝榪欎簺宸茬粡澶熺敤浜嗐?/p>

瑕佸垪鍑哄綋鍓嶅伐浣滅洰褰曚笅鐨勬枃浠舵垨鏂囦歡澶癸紝鍙皟鐢?

FTPFile[] list = client.list();

濡傛灉浣犳敹鍒頒簡FTPListParseException (it.sauronsoftware.ftp4j.FTPListParseException) 寮傚父錛岃繖灝辨剰鍛崇潃鏈嶅姟鍣ㄥLIST鍛戒護榪斿洖浜嗕笉鍙悊瑙g殑鏍峰紡,鍗沖畠涓嶆槸涓婅堪鍒楀嚭鐨勬牱寮?鍥犳錛屼綘鍙互灝濊瘯浣跨敤listNames() 鏂規(guī)硶錛?浣嗗畠騫朵笉濡?em style="background-color: inherit;">list()鏂規(guī)硶鏈変紭鍔?/em>.銆備負浜嗗譏琛ヨ繖縐嶇己闄鳳紝浣犲彲浠ユ瀯寤轟綘鑷繁鐨?span style="line-height: 1.5; background-color: inherit;">LIST鍝嶅簲瑙f瀽鍣?浠ユ敮鎸佷綘閬囧埌鐨勬牱寮?浣犲彲浠ュ疄鐜?/span>FTPListParser (it.sauronsoftware.ftp4j.FTPListParser) 鎺ュ彛錛岀劧鍚庝綘鍙互鍦╟lient鐨?/span>addListParser()鏂規(guī)硶浣跨敤姝ゅ疄鐜?/em>.

FTPFile (it.sauronsoftware.ftp4j.FTPFile) 瀵硅薄鎻愪緵浜嗙洰褰曞唴瀹圭殑琛ㄧず錛屽寘鎷枃浠訛紝瀛愮洰褰曞拰榪炴帴. 鏍規(guī)嵁鏈嶅姟鍣ㄧ殑鍝嶅簲錛孎TPFile瀵硅薄鐨勬煇浜涘瓧孌靛彲浠ユ槸null 鐨勬垨鑰呮槸鏃犳剰涔夌殑.璇鋒鏌avadocs鏉ヤ簡瑙g粏鑺?

鍦?/span>list() 鏂規(guī)硶涓綘涔熷彲浠ヤ嬌鐢ㄦ枃浠惰繃婊ゅ弬鏁?濡傦細

FTPFile[] list = client.list("*.jpg");

濡傛灉榪炴帴鏈嶅姟鍣ㄦ槑紜敮鎸丮LSD鍛戒護, ftp4j浼氱敤鍏舵潵浠f浛鍩烘湰鐨凩IST鍛戒護銆侻LSD鐨勫搷搴斾簨瀹炴洿涓烘爣鍑嗭紝鍑嗙‘錛屾洿鏄撹В鏋?涓嶅垢鐨勬槸錛屼笉鏄墍鏈夋湇鍔″櫒閮芥敮鎸佽繖涓懡浠わ紝騫朵笖鏈変簺鏈嶅姟鍣ㄦ敮鎸佸緱闈炲父緋熺硶.鍩轟簬榪欎簺鐞嗙敱錛屽紑鍙戣呭彲浠ユ帶鍒秄tp4j鏄惁搴旇浣跨敤MLSD鍛戒護錛屽嵆閫氳繃璋冪敤FTPClient瀵硅薄鐨?/em>setMLSDPolicy()鏂規(guī)硶. 鍚堟硶鐨勫?

  • FTPClient.MLSD_IF_SUPPORTED
    client鍙湪鏈嶅姟鍣ㄦ槑紜敮鎸丮LSD鍛戒護鏃訛紝鎵嶄嬌鐢∕LSD鍛戒護. 榪欐槸ftp4j榛樿鐨勮涓?

  • FTPClient.MLSD_ALWAYS
    client鎬繪槸浼氫嬌鐢∕LSD鍛戒護, 鍗充究鏈嶅姟鍣ㄦ病鏈夋槑紜〃鏄庢敮鎸丮LSD鍛戒護.

  • FTPClient.MLSD_NEVER
    client緇濅笉浣跨敤MLSD鍛戒護,鍗充究鏈嶅姟鍣ㄦ槑紜〃鏄庢敮鎸丮LSD鍛戒護.

渚嬪錛?/span>

client.setMLSDPolicy(FTPClient.MLSD_NEVER);

鑾峰彇鏂囦歡銆佺洰褰曠殑鏈鍚庝慨鏀規(guī)椂闂?/span>

閫氬父鎯呭喌涓?/span>FTPFile瀵硅薄浼氬憡璇変綘鏉$洰鐨勬渶鍚庝慨鏀規(guī)椂闂?/em>, 浣嗘濡備笂闈㈡弿榪扮殑錛岃繖渚濊禆浜庢湇鍔″櫒鍙戝洖鐨勫搷搴?濡傛灉浣犻渶瑕佹渶鍚庣殑淇敼鏃墮棿錛屼絾浣犲張涓嶈兘閫氳繃list()鏂規(guī)硶寰楀埌錛岄偅涔堝彲浠ュ皾璇曡繖鏍峰仛錛?/p>

java.util.Date md = client.modifiedDate("filename.ext");

涓嬭澆銆佷笂浼犳枃浠?/span>

涓嬭澆榪滅▼鏂囦歡鏈綆鍗曠殑鏂瑰紡鏄皟鐢?/span>download(String, File) 鏂規(guī)硶錛?/p>

client.download("remoteFile.ext", new java.io.File("localFile.ext"));

瑕佷笂浼?

client.upload(new java.io.File("localFile.ext"));

瑕佸湪宸叉湁鏂囦歡涓笂浼犺拷鍔犲唴瀹?

client.append(new java.io.File("localFile.ext"));

榪欎簺鏄樆濉炲紡璋冪敤:瀹冧滑浼氬湪浼犺緭瀹屾垚鍚?鎴杅ailed, 鎴?aborted鏃?鎵嶈繑鍥? 姝ゅ鍚屾閿佹槸鍚︾敱瀹㈡埛绔潵瀹炴柦鐨勶紝鍥犱負鍦ㄦ瘡涓椂闂存鍐呭彧鍏佽鏈変竴涓父瑙勭殑FTP閫氫俊.鍦ㄦ瘡涓椂闂存鍐咃紝浣犲彲浠ュ鐞嗗涓紶杈撳櫒錛屽嵆浣跨敤澶氫釜FTPClient 瀵硅薄,姣忎釜閮戒笌鏈嶅姟鍣ㄥ緩绔嬩竴涓鏈夎繛鎺?

浣犲彲浠ヤ嬌鐢?/span>FTPDataTransferListener (it.sauronsoftware.ftp4j.FTPDataTransferListener)瀵硅薄鏉ョ洃鎺т紶杈?浣犲彲浠ヨ嚜宸卞疄鐜頒竴涓?

import it.sauronsoftware.ftp4j.FTPDataTransferListener;  
public class MyTransferListener implements FTPDataTransferListener {
public void started() {
// Transfer started
}
public void transferred(int length) {
// Yet other length bytes has been transferred since the last time this
// method was called
}
public void completed() {
// Transfer completed
}
public void aborted() {
// Transfer aborted
}
public void failed() {
// Transfer failed
}
}

鐜板湪鍍忎笅闈㈣繖鏍鋒潵涓嬭澆鎴栦笂浼?

client.download("remoteFile.ext", new java.io.File("localFile.ext"), new MyTransferListener());
client.upload(new java.io.File("localFile.ext"), new MyTransferListener());
client.append(new java.io.File("localFile.ext"), new MyTransferListener());

褰揷lient澶勭悊涓嬭澆鎴栦笂浼犳椂錛屼紶杈撳櫒鍙互琚悓涓涓?/span>FTPClient瀵硅薄鐨勪笉鍚岀嚎紼嬮氳繃璋冪敤 abortCurrentDataTransfer() 鏂規(guī)硶aborted. 姝ゆ柟娉曡繕闇瑕佷竴涓猙oolean鍙傛暟:true琛ㄧず鎵ц鍚堟硶鐨?/em>abort榪囩▼(鍗沖悜鏈嶅姟鍣ㄥ彂閫丄BOR鍛戒護), false琛ㄧず瀹炵劧鍏抽棴浼犺緭鍣紝鑰屼笉鍚戞湇鍔″櫒鍙戦侀氱煡:

client.abortCurrentDataTransfer(true); // Sends ABOR
client.abortCurrentDataTransfer(false); // Breaks abruptly

闇瑕佹敞鎰忕殑鏄紝list()鍜?/em>listNames() 鏂規(guī)硶鏆椾腑鍖呭惈浜嗘暟鎹紶杈撳櫒錛屽洜abortCurrentDataTransfer() 鏂規(guī)硶涔熷彲浠ョ敤鏉ヤ腑鏂叾list榪囩▼.

褰撴暟鎹紶杈撳櫒鍦?/span>download()upload()append()list() and listNames() 鏂規(guī)硶涓腑鏂椂錛屽皢浼氭姏鍑?em style="background-color: inherit;">FTPAbortedException (it.sauronsoftware.ftp4j.FTPAbortedException).

涓嬭澆鍜屼笂浼犳搷浣滃彲閫氳繃restartAt 鍙傛暟鏉ラ噸鏂版仮澶?

client.download("remoteFile.ext", new java.io.File("localFile.ext"), 1056);

姝ゆ搷浣滀細鏂囦歡鐨勭1056涓瓧鑺傚緇х畫鎵ц涓嬭澆鎿嶄綔銆傜涓涓紶杈撶殑瀛楄妭灝嗘槸絎?057涓?

鍏跺畠 download()upload() 鍜?em style="background-color: inherit;">append()鏂規(guī)硶鐨勫彉縐嶅彲浠ヨ浣犱嬌鐢ㄦ祦鏉ユ浛浠?/em>java.io.File瀵硅薄.鍥犳浣犲彲浠ュ湪鏁版嵁搴擄紝緗戠粶榪炴帴鎴栧叾瀹冩祦涓婃潵浼犺緭鏁版嵁銆?/p>

Active 銆?passive 鏁版嵁浼犺緭妯″紡

瀹㈡埛绔拰鏈嶅姟鍣ㄤ箣闂寸殑鏁版嵁浼犺緭閫氶亾鏄氳繃鍗曠嫭鐨勭綉緇滆繛鎺ユ潵寤虹珛鐨? 鍦ㄤ紶杈撻氶亾寤虹珛鏈熼棿錛屾湇鍔″櫒鍙互鏄?/span>active鎴?/em>passive鐨?/em>. 鏈嶅姟鍣ㄦ縺媧繪暟鎹紶杈撴椂錛屽伐浣滃涓嬶細

  1. client鍚戞湇鍔″櫒鍙戦佸叾IP鍦板潃鍜岀鍙e彿.
  2. client鍚戞湇鍔″櫒鍙戦佹暟鎹紶杈撹姹傦紝騫跺湪涔嬪墠鍙戦佺殑绔彛涓婂惎鍔ㄧ洃鍚?
  3. 鏈嶅姟鍣ㄤ嬌鐢ㄥ鎴風鎻愪緵鐨勫湴鍧鍜岀鍙f潵榪炴帴瀹㈡埧绔?
  4. 鏁版嵁浼犺緭灝嗗湪鏂板緩绔嬬殑閫氶亾涓繘琛?

active妯″紡闇瑕佷綘鐨刢lient鑳藉鏀跺埌鏉ヨ嚜鏈嶅姟鍣ㄧ殑榪炴帴.濡傛灉浣犵殑client澶勪簬闃茬伀澧欙紝 浠g悊鎴栬繖涓よ呮販鍚堜箣鍚庯紝閭d箞澶ч儴鍒嗘椂闂撮兘浼氬嚭鐜伴棶棰橈紝鍥犱負瀹冧笉鑳芥敹鍒版潵澶栫晫鐨勮繛鎺? 涓嬮潰鏄?/span>passive鏁版嵁浼犺緭妯″紡錛?/p>

  1. client瑕佹眰鏈嶅姟鍣ㄥ噯澶囧ソ涓涓猵assive鏁版嵁浼犺緭.
  2. 鏈嶅姟鍣ㄤ嬌鐢ㄥ叾IP鍦板潃鍜岀鍙e彿榪涜鍝嶅簲.
  3. client璇鋒眰浼犺緭鍜岃繛鎺?
  4. 鏁版嵁浼犺緭灝嗗湪鏂板緩绔嬬殑閫氶亾涓繘琛?

鍦╬assive妯″紡涓紝瀹㈡埛绔繛鎺ヤ笉瑕佹眰鑳芥敹鍒版湇鍔″櫒鐨勮繛鎺ヨ姹?

鍦╢tp4j涓紝浣犲彲浠ヤ嬌鐢ㄤ笅闈㈢殑璋冪敤鏉ュ垏鎹ctive銆乸assive妯″紡:

client.setPassive(false); // Active mode
client.setPassive(true); // Passive mode

ftp4j client passive 鏍囧織鐨勯粯璁ゅ間負true: 濡傛灉浣犳病鏈夎皟鐢?em style="background-color: inherit;">setPassive(false) 錛屼綘鐨勫鎴風鍦ㄦ瘡嬈′紶杈撳墠錛岄兘浼氬悜鏈嶅姟鍣ㄨ姹俻assive妯″紡.

褰撲嬌鐢?passive鏂囦歡浼犺緭鏃訛紝鏈嶅姟鍣ㄤ細鎻愪緵涓涓?IP鍦板潃鍜屼竴涓鍙e彿.浣滀負FTP瑙勮寖鐨刢lient,闇瑕佷嬌鐢ㄧ粰瀹氱殑涓繪満鍙峰拰绔彛榪涜榪炴帴.鍦ㄥ晢涓氱幆澧冧腑錛岃繖縐嶈涓哄彲鑳戒細緇忓父甯︽潵闂錛屽洜涓篘AT閰嶇疆鍙兘浼氶樆姝㈠IP鍦板潃鐨勮繛鎺?榪欏氨鏄負浠涔團TP clients閫氬父浼氬拷鐣ユ湇鍔″櫒榪斿洖鐨勪換浣旾P鍦板潃錛岃繘鑰屽湪閫氫俊綰胯礬涓嬌鐢ㄥ悓鏍風殑涓繪満鏉ヨ繛鎺ユ湇鍔″櫒.ftp4j鐨勮涓轟緷璧栦簬鏈嶅姟鍣ㄥ洜绱?

  • 姣忎釜FTPConnector 閮芥湁鍏墮粯璁よ涓?澶ч儴鍒嗚繛鎺ュ櫒閮戒細蹇界暐鏈嶅姟鍣ㄨ繑鍥炵殑IP鍦板潃銆傜洰鍓嶏紝榛樿浣跨敤榪斿洖鍦板潃鐨勮繛鎺ュ櫒鏄?em style="background-color: inherit;">FTPProxyConnector.
  • 榪炴帴鍣ㄧ殑琛屼負鍙氳繃瀹氫箟鍚嶄負ftp4j.passiveDataTransfer.useSuggestedAddress鐨勭郴緇熷睘鎬ф潵瑕嗙洊銆傚鏋滆緗負"true", "yes" 鎴?1",鎵鏈夎繛鎺ュ櫒閮戒細浣跨敤鏈嶅姟鍣ㄨ繑鍥炵殑鍦板潃錛屽弽涔嬶紝濡傛灉灝嗗叾璁劇疆涓?false", "no" or "0", 鎵鏈夋湇鍔″櫒閮戒笉浼氫嬌鐢ㄨ繑鍥炵殑鍦板潃.
  • 鏈鍚?榪炴帴鍣ㄧ殑榛樿琛屼負鍜屽叏灞璁劇疆閮藉彲浠ュ湪浠諱綍榪炴帴鍣ㄥ疄渚嬩腑榪涜瑕嗙洊銆備綘鍙氳繃鑾峰彇瀹㈡埧绔繛鎺ュ櫒錛屽茍璋冪敤鍏?/span>setUseSuggestedAddressForDataConnections() 鏂規(guī)硶鏉ヨ揪鍒扮洰鐨?

鍦╝ctive浼犺緭妯″紡涓紝鍙互璁劇疆涓嬮潰鐨勭郴緇熷睘鎬?

  • ftp4j.activeDataTransfer.hostAddress
    涓繪満鍦板潃.褰撴湇鍔″櫒璇鋒眰鎵ц涓庡鎴風榪炴帴鏃訛紝client浼氳煩杞埌緇欏畾鍦板潃鐨勬湇鍔″櫒. 姝ゅ煎簲璇ユ槸涓涓湁鏁堢殑IPv4鍦板潃錛屽錛?em style="background-color: inherit;">178.12.34.167
    . 濡傛灉娌℃湁鎻愪緵姝ゅ鹼紝瀹㈡埛绔細鑷姩瑙f瀽緋葷粺鍦板潃.浣嗗鏋渃lient榪愯浜嶭AN涓紝涓轟簡嬋媧繪暟鎹紶杈擄紝灝嗕細浣跨敤甯︾鍙h漿鍙戠殑璺敱鍣ㄦ潵榪炴帴澶栭儴鏈嶅姟鍣?閭d箞鑷姩鎺㈡祴鍒扮殑鍦板潃鍙兘涓嶆槸姝g‘鐨? 褰撶郴緇熸湁澶氫釜緗戠粶鎺ュ彛鏃訛紝涔熷彲鑳藉彂鐢熻繖縐嶆儏鍐?閫氬父浣跨敤緋葷粺灞炴э紝鍙互瑙e喅榪欑闂

  • ftp4j.activeDataTransfer.portRange
    榪炴帴绔彛鑼冨洿. client浼氬湪鍏朵腑鎸戦変竴涓潵榪涜鏁版嵁浼犺緭.姝ゅ?蹇呴』鏄?em style="background-color: inherit;">start-stop
     褰㈠紡 錛屽6000-7000 琛ㄧずclient鍙細鍦ㄧ粰瀹氳寖鍥村唴鎸戦変竴涓鍙f潵榪炴帴鏈嶅姟鍣?榛樿鎯呭喌涓嬫病鏈夋寚瀹氱鍙h寖鍥?榪欒〃紺篶lient浼氭寫閫変換浣曚竴涓彲鐢ㄧ殑绔彛.

  • ftp4j.activeDataTransfer.acceptTimeout
    浠ユ縐掍負鍗曚綅鐨勮繛鎺ヨ秴鏃舵椂闂? 濡傛灉鏈嶅姟鍣ㄤ笉鑳藉湪緇欏畾瓚呮椂鏃墮棿鍐呰繛鎺lient錛屼紶杈撲細鍥?em style="background-color: inherit;">FTPDataTransferException寮傚父鑰屼腑鏂?/em>.0鍊艱〃紺烘案涓嶈秴鏃躲傞粯璁ゅ?0000 (鍗?0縐?.

瑕佽緗郴緇熷睘鎬э紝浣犲彲浠?

  • 鐢ㄤ竴涓垨澶氫釜 -Dproperty=value鍙傛暟鏉ュ惎鍔↗VM.濡?

    java -Dftp4j.activeDataTransfer.hostAddress=178.12.34.167      -Dftp4j.activeDataTransfer.portRange=6000-7000      -Dftp4j.activeDataTransfer.acceptTimeout=5000 MyClass
  • 鐩存帴鍦ㄤ唬鐮佷腑璁劇疆緋葷粺灞炴э紝濡?

    System.setProperty("ftp4j.activeDataTransfer.hostAddress", "178.12.34.167"); 
    System.setProperty("ftp4j.activeDataTransfer.portRange", "6000-7000");
    System.setProperty("ftp4j.activeDataTransfer.acceptTimeout", "5000");

浜岃繘鍒跺拰鏂囨湰鏁版嵁浼犺緭綾誨瀷

鏁版嵁浼犺緭鐨勫彟涓涓牳蹇冩蹇墊槸binary 鍜?/span>textual 綾誨瀷.褰撲紶浼犺緭鐨勬枃浠舵槸浜岃繘鍒舵枃浠舵椂錛屽畠?yōu)畣瑙嗕皋Z簩榪涘埗嫻侊紝鏈嶅姟鍣ㄤ細鎸夊師鏍峰瓨鍌ㄣ傝屾枃鏈暟鎹紶杈撲細灝嗕紶杈撶殑鏂囦歡瑙嗕負瀛楃嫻?浼氳繘琛屽瓧絎﹂泦杞崲. 鍋囪浣犵殑client姝h繍琛學(xué)indows騫沖彴涓婏紝鑰屾湇鍔″櫒榪愯UNIX涓?瀹冧滑鐨勯粯璁ゅ瓧絎﹂泦閫氬父鏄笉鍚岀殑. client浠ユ枃鏈被鍨嬫潵鍙戦佹枃浠舵椂錛宑lient浼氬亣璁炬枃浠舵槸鎸夋満鍣ㄦ爣鍑嗗瓧絎﹂泦鏉ョ紪鐮佺殑錛屽洜姝ゅ湪鍙戦佸墠錛屽畠浼氳В鐮佹瘡涓瓧絎﹀茍灝嗗叾緙栫爜涓?涓棿瀛楃闆? 鏈嶅姟鍣ㄦ敹鍒版祦鍚庯紝鍦ㄥ瓨鍌ㄥ墠錛屼細瑙g爜涓棿瀛楃闆嗭紝騫跺皢鍏剁紪鐮佷負鏈哄櫒榛樿鐨勫瓧絎﹂泦.瀛楄妭铏界劧琚敼鍙樹簡錛屼絾鍐呭鏄浉鍚岀殑銆?/span>

浣犲彲浠ヨ皟鐢ㄤ笅闈㈢殑鏂規(guī)硶閫夋嫨浣犱紶杈撶殑綾誨瀷:

client.setType(FTPClient.TYPE_TEXTUAL);
client.setType(FTPClient.TYPE_BINARY);
client.setType(FTPClient.TYPE_AUTO);

榛樿鐨凾YPE_AUTO甯擱噺 ,浼氳client鑷姩鏉ユ寫閫夌被鍨?濡傛灉鏂囦歡鐨勬墿灞曞悕鏄痗lient鑳借璇嗗埆鐨勬枃鏈被鍨嬫爣璁幫紝閭d箞瀹冧細閫夋嫨鏂囨湰浼犺緭鍣ㄦ潵鎵ц. 鏂囦歡鎵╁睍鍚嶆槸閫氳繃FTPTextualExtensionRecognizer (it.sauronsoftware.ftp4j.FTPTextualExtensionRecognizer) 瀹炰緥鏉ヨ瘑鍒殑. 榛樿鎵╁睍璇嗗埆鍣ㄦ槸it.sauronsoftware.ftp4j.recognizers.DefaultTextualExtensionRecognizer, 浼氬皢涓嬮潰鐨勮涓烘枃鏈被鍨?

abc acgi aip asm asp c c cc cc com conf cpp
csh css cxx def el etx f f f77 f90 f90 flx
for for g h h hh hh hlb htc htm html htmls
htt htx idc jav jav java java js ksh list
log lsp lst lsx m m mar mcf p pas php pl pl
pm py rexx rt rt rtf rtx s scm scm sdml sgm
sgm sgml sgml sh shtml shtml spc ssi talk
tcl tcsh text tsv txt uil uni unis uri uris
uu uue vcs wml wmls wsc xml zsh

浣犲彲閫氳繃瀹炵幇FTPTextualExtensionRecognizer 鎺ュ彛鏉ュ疄鐜頒綘鑷繁鐨勮瘑鍒櫒錛屼絾浣犲彲浠ユ洿鍠滄浣跨敤 class ParametricTextualExtensionRecognizer(it.sauronsoftware.ftp4j.recognizers.ParametricTextualExtensionRecognizer)渚垮埄綾?
鏃犺濡備綍錛岄兘涓嶈蹇樿灝嗕綘鐨勮瘑鍒櫒璁劇疆鍦╟lient涓?

client.setTextualExtensionRecognizer(myRecognizer);

鏁版嵁浼犺緭鍘嬬緝

鏈変簺鏈嶅姟鍣ㄦ敮鎸佹暟鎹紶杈撳帇緙╃壒鎬э紞MODE Z. 鍦ㄤ紶杈撳ぇ鏂囦歡鏃訛紝姝ょ壒鎬у彲浠ヨ妭鐪佸甫瀹?涓鏃lient榪炰笂鏈嶅姟鍣ㄥ茍閫氳繃璁よ瘉,灝卞彲閫氳繃璋冪敤涓嬮潰鐨勬柟娉曟潵媯鏌ユ槸鍚︽敮鎸佸帇緙╋細

boolean compressionSupported = client.isCompressionSupported();

濡傛灉鏈嶅姟鍣ㄧ鏀寔鍘嬬緝,灝卞彲閫氳繃涓嬮潰鐨勮皟鐢ㄦ潵鍚敤鍘嬬緝:

client.setCompressionEnabled(true);

鍦ㄦ璋冪敤涔嬪悗錛屽悗緇殑鏁版嵁浼犺緭(涓嬭澆錛屼笂浼狅紝鍒椾婦鎿嶄綔錛夐兘琚皢鍘嬬緝浠ヨ妭鐪佸甫瀹?

鏁版嵁浼犺緭鍘嬬緝鍙氳繃涓嬮潰鐨勮皟鐢ㄦ潵紱佺敤:

client.setCompressionEnabled(false);

涔熷彲浠ユ鏌ユ爣璁板?

boolean compressionEnabled = client.isCompressionEnabled();

璇鋒敞鎰忥細鍘嬬緝鏁版嵁浼犺緭鍙綋鍘嬬緝鏀寔涓斿惎鐢ㄤ簡鐨勬儏鍐典笅鎵嶄細鍙戠敓.

榛樿鎯呭喌涓嬶紝鍘嬬緝鏄鐢ㄧ殑錛屽嵆渚挎槸鏈嶅姟鍣ㄦ敮鎸佸帇緙? 濡傛灉鏈夐渶瑕?鍙互鏄劇ず鍦版墦寮.

涓嶅仛浠諱綍浜嬶紙NOOPing the server錛?/span>

鍋囪浣犵殑client浠涔堜簨鎯呴兘涓嶅仛錛屽洜涓哄湪絳夊緟鐢ㄦ埛杈撳叆. 閫氬父鎯呭喌涓嬶紝 FTP鏈嶅姟鍣ㄤ細鑷姩鏂紑闈炴椿璺冨鎴風. 涓轟簡閬垮厤瓚呮椂錛屼綘鍙互鍙戦丯OOP鍛戒護.
姝ゅ懡浠や笉浼氬仛浠諱綍浜嬫儏錛屼絾瀹冧細鍚戞湇鍔″櫒璇存槑錛氬鎴風浠嶇劧榪樻椿鐫錛岃閲嶅洿瓚呮椂璁℃暟鍣?璋冪敤濡備笅:

client.noop();

褰撻潪媧昏穬瓚呮椂鍙戠敓鏃訛紝瀹㈡埛绔篃鍙互鑷姩鍙戦丯OOPs. 榛樿鎯呭喌涓嬶紝姝ょ壒鎬ф槸紱佺敤鐨勩傚畠鍙互鍦?nbsp;setAutoNoopTimeout() 鏂規(guī)硶涓緗秴鏃舵椂闂存椂鍚敤,騫舵彁渚涗竴涓縐掍負鍗曚綅鐨勫?濡?

client.setAutoNoopTimeout(30000);

浣跨敤姝ゅ鹼紝client浼氬湪30縐掑悗鍙戦佷竴涓狽OOP鍛戒護.

NOOP瓚呮椂鍙氳繃璁劇疆灝忎簬絳変簬0鐨勫兼潵紱佺敤:

client.setAutoNoopTimeout(0);

緗戠珯鐗規(guī)畩鐨勮嚜瀹氫箟鍛戒護

浣犲彲浠ュ儚涓嬮潰榪欐牱鏉ュ彂閫佺珯鐐圭壒孌婂懡浠わ細

FTPReply reply = client.sendSiteCommand("YOUR COMMAND");

浣犱篃鍙互鍙戦佽嚜瀹氫箟鍛戒護:

FTPReply reply = client.sendCustomCommand("YOUR COMMAND");

sendSiteCommand() 鍜?nbsp;sendCustomCommand() 閮戒細榪斿洖涓涓?em style="background-color: inherit;">FTPReply (it.sauronsoftware.ftp4j.FTPReply)瀵硅薄.浣跨敤姝ゅ璞★紝浣犲彲浠ユ鏌ユ湇鍔″櫒鐨勫搷搴斾唬鐮佸拰娑堟伅. 
FTPCodes (it.sauronsoftware.ftp4j.FTPCodes) 鎺ュ彛鎶ュ憡浜嗕竴浜涢氱敤鐨凢TP鍝嶅簲浠g爜,鍥犳浣犲彲浠ヤ嬌鐢ㄨ繖浜涘寘涓殑鏌愪釜鏉ヨ繘琛屽尮閰?

寮傚父澶勭悊

ftp4j 鍖呭畾涔変簡浜旂綾誨瀷鐨勫紓甯?

  • FTPException (it.sauronsoftware.ftp4.FTPException
    渚濊禆浜庢柟娉曪紝榪欎細鎶ュ憡鎶涘嚭浜嗕竴涓狥TP鏁呴殰.浣犲彲浠ユ鏌ユ姤鍛婄殑閿欒鐮侊紝浣跨敤FTPCodes 甯擱噺鏉ヨ幏鍙栨晠闅滃師鍥犵殑璇︾粏淇℃伅.
  • FTPIllegalReplyException (it.sauronsoftware.ftp4.FTPIllegalReplyException)
    榪欒〃紺鴻繙紼嬫湇鍔″櫒浣跨敤闈炴硶鏂瑰紡榪涜浜嗗簲絳? 榪欎笌FTP鏄笉鍏煎鐨? 榪欏簲璇ユ槸闈炲父緗曡鐨?
  • FTPListParseException (it.sauronsoftware.ftp4.FTPListParseException)
    榪欓氬父鍙戠敓鍦?em style="background-color: inherit;">list()鏂規(guī)硶錛屽鏋滄湇鍔″櫒鍙戝洖鐨勫搷搴斾笉鑳借瀹㈡埛绔寘涓幇鏈夎В鏋愬櫒榪涜鐨勮瘽錛屽氨浼氭姏鍑烘縐嶅紓甯?/em>
  • FTPDataTransferException (it.sauronsoftware.ftp4.FTPDataTransferException)
    褰撴暟鎹紶杈?(downloadupload, but also list and listNames) 鍥犵綉緇滆繛鎺ラ敊璇け璐ユ椂錛屽氨浼氭姏鍑烘縐嶅紓甯?
  • FTPAbortedException (it.sauronsoftware.ftp4.FTPAbortedException)
    褰撴暟鎹紶杈?(download, upload, but also list and listNames) 鍥犲鎴風鍙戝嚭涓柇璇鋒眰澶辮觸鏃訛紝鎶涘嚭鐨勫紓甯?


]]>
主站蜘蛛池模板: 久久亚洲精品高潮综合色a片| 国产精品久久永久免费| 久久精品国产99国产精品亚洲| 久久亚洲精品无码播放| 免费毛片在线播放| 动漫黄网站免费永久在线观看| 中国黄色免费网站| 黄色a三级三级三级免费看| 亚洲欧洲日韩极速播放| 亚洲美女激情视频| 亚洲va中文字幕无码久久| 亚洲欧洲日产国码高潮αv| 在线观着免费观看国产黄| 免费精品一区二区三区在线观看 | 日本阿v免费费视频完整版| 国产又黄又爽又大的免费视频 | 亚洲av无码专区在线观看素人| 国产一卡2卡3卡4卡无卡免费视频 国产一卡二卡3卡四卡免费 | 美女黄色免费网站| 亚洲成a人片在线不卡一二三区| 亚洲人成在久久综合网站| 亚洲精品综合一二三区在线| 亚洲国产精品一区二区成人片国内| 亚洲乱码国产一区网址| 亚洲国产精品无码久久久久久曰| 日韩成全视频观看免费观看高清| 成人人观看的免费毛片| 毛片高清视频在线看免费观看| 99久久久国产精品免费无卡顿 | 亚洲国产精品无码久久一区二区 | 久久精品无码精品免费专区| 久久免费观看视频| 精品国产福利尤物免费| v片免费在线观看| 黄色网址免费在线观看| 两性色午夜视频免费网| 日本三级在线观看免费| 国产一精品一av一免费爽爽| 国产精品免费观看调教网| 99久久久国产精品免费牛牛四川| 亚洲成人免费电影|