整合工具包,寫ftp的實現,出現了問題,解決如下
apach自帶的ftpexample的類
/***略掉了包和 import的說明部分***/
043public
final
class ftpexample
044
068069
if ((args.length - base) != 5 )
070
074075 server = args[base++];
076 username = args[base++];
077 password = args[base++];
078 remote = args[base++];
079 local = args[base];
080081
ftp = new ftpclient();
082ftp .addprotocolcommandlistener(new printcommandlistener(
083new printwriter(system.out)));
084085
try086
101 }
102catch (ioexception e)
103
110catch (ioexception f)
111
114 }
115 system.err.println("could not connect to server." );
116 e.printstacktrace();
117 system.exit(1 );
118 }
119120 __main:
121try
122
129130 system.out.println("remote system is " + ftp .getsystemname());
131132
if (binarytransfer)
133ftp .setfiletype(ftp .binary_file_type);
134135
// use passive mode as default because most of us are
136// behind firewalls these days.
137ftp .enterlocalpassivemode();
138139
if (storefile )
140
149else
150
159160
ftp .logout();
161 }
162catch (ftpconnectionclosedexception e)
163
168catch (ioexception e)
169
173finally
174
181catch (ioexception f)
182
185 }
186 }
187188 system.exit(error ? 1 : 0 );
189 } // end main
190191 }
**中第137行ftp .enterlocalpassivemode();
然後我查了api相關的幾個方法 enterlocalactivemode,enterremoteactivemode,enterremotepassivemode。
我的理解大概是這樣的
enterlocalpassivemode:設定客戶端pasv模式
static int passive_local_data_connection_mode
enterlocalactivemode:設定客戶端port模式
static int active_local_data_connection_mode
enterremoteactivemode:server to server
static int active_remote_data_connection_mode
requiring the one(client) connect to the other server's data port to initiate a data transfer.
enterremotepassivemode:server to server
static int passive_remote_data_connection_mode
requiring the other server to connect to the first server's data port to initiate a data transfer
對ftp 協議了解的不太清楚是乙個很大的原因,有時間要看看ftp 協議的內容了。
查了一些資料:
ftp 傳輸有兩種模式:主 動模式(port)和被動模式(pasv)
主動模式:客戶端主動連伺服器端;埠用20
被動模式:伺服器端連客戶端;隨機開啟乙個高階埠(埠號大於1024)
小提示:有防火牆使用者不能使用主動模式 ,這是因為防火牆不允許來自網外的主動連線,所以使用者必須同使用被動模 式。
//enterlocalpassivemode:設定客戶端pasv模式 (客戶端主動連伺服器端;埠用20)
ftpclient.enterlocalpassivemode();
//enterlocalactivemode:設定客戶端port模式 (伺服器端連客戶端;隨機開啟乙個高階埠(埠號大於1024))
ftpclient.enterlocalactivemode();
//sun
oom問題解決
dalvik虛擬機會為應用程式分配固定大小的heap 如果使用超過了這個heap的大小,且沒有可被 物件,就會報oom。多張較大會迅速占用空間造成oom。我們可以使用一下的方法來減少這種情況的產生 1.減少單張的大小,根據螢幕大小來對bitmap做resize。private void setima...
too many open files問題解決辦法
今天用 往liunx中寫檔案,檔案很多 執行一會就日誌上就報錯 too many open files 結果找了半天才解決這個問題,現在給大家分享一下。首先用 ulimit a 命令看看linux的open files值是多少,結果乙隻有1024,不夠用的。然後修改linux的配置檔案,修改 etc...
haoop問題解決
1.namenode不能啟動 cannot lock storage tmp dfs name.the directory is already locked.上網查了查,基本上有兩個辦法 1.重新格式化namenode 2.許可權問題 chown r hadoop hadoop tmp dfs n...