FPClientは、参照用に指定されたサーバーにファイルをアップロードする実装を実施します。特定のコンテンツは次のとおりです
電話
fileInputStream in = new fileInputStream(new file(fileurl)); moveFile( "10.3.3。**"、21、 "username"、 "password"、path、filename、in);
方法
/ ***説明:ファイルをFTPサーバーにアップロード* @Param URL FTPサーバーホスト名* @ParamポートFTPサーバーポート* @Param Username FTP Login Account* @Param Password FTP Loginパスワード* @Param Path FTPサーバーSave Directory* MoveFile(String URL、int Port、Stringユーザー名、文字列パスワード、文字列パス、文字列ファイル名、inputstream input){boolean success = false; ftpclient ftp = new ftpclient(); {int Reply; ftp.connect(url、port); // ftpサーバーを接続する//デフォルトのポートを使用している場合、ftp.connect(url)を使用してFTPサーバーに直接接続できます。 ftp.login(username、password); // login Reply = ftp.getReplyCode(); if(!ftpreply.ispositiveCompletion(reply)){ftp.disconnect();成功を返す; } //パスを作成する{ftp.makedirectory(path); } catch(例外e){} ftp.enterlocalpassivemode(); ftp.changeworkingdirectory(path); boolean f = ftp.storefile(filename、input); logger.error(f); input.close(); ftp.logout();成功= true; } catch(ioexception e){e.printstacktrace(); }最後に{if(ftp.isconnected()){try {ftp.disconnect(); } catch(ioexception ioe){}}} return success; }いくつかの詳細
fileInputStream.abailable()読み取り可能なバイトの実際の数、つまり合計サイズを返します。
ftpclient.storefile()メソッドがそこに停止すると、反応がなく、偽の死の状態があります。
回避策: ftpclient.enterlocalpassivemode()を呼び出します
原則:FTPサーバーは毎回データを送信するために別のポートを開く可能性があるため、Linuxまたは他のサーバーでは、セキュリティ制限により、一部のポートが有効になっていないため、閉塞が発生します。
デフォルトのFTPポートは21、SSHは22、実際の送信ポートは20です
指定されたポートを表示、例21
netstat -na | grep 21(ポート番号)
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。