問題タブ [apache-commons-net]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Apache Commons NET:接続ごとに新しいFTPClientオブジェクトを作成する必要がありますか、それとも再利用する必要がありますか?
私はただ疑問に思っています:私のJavaアプリケーションでは、FTPサーバーに接続する必要があるたびに、新しいFTPClientオブジェクトを作成する必要がありますか、それとも1つのFTPClient()オブジェクトを作成して、接続するたびにそれを再利用する必要がありますFTPサーバー?
java - FTPサーバーからフィルタリングされたファイルリストを取得するための正しいJava APIは何ですか?
Java API のパラメーターでワイルドカードを使用して、ftp サーバーからフィルター処理されたファイル リストを取得する方法を知りたいのですが、とにかくここで適切な API を見つけることができません。
http://commons.apache.org/net/apidocs/org/apache/commons/net/ftp/FTPClient.html
平
java - Java Apache Commonsでtelnet消去ライン(EL)を送信するにはどうすればよいですか?
私はしばらくの間これを理解しようとしてきました:
サーバーにコマンドを送信して応答を読み取ることができるApacheCommonsTelnetクライアントをセットアップしました。私のプログラムは基本的に次のように機能します。
私がやろうとしているのは、telnet ELコマンドを送信して、以前に送信された文字( "foo")の行全体を消去することです。Telnetコマンドは常に前にIAC文字を付けて送信され、それも私が送信しているものです。
サーバーのエコーを読み取り、それらを出力するリスナーの実装が機能しています。
問題は、IAC-ELを送信すると、文字がコマンドとして解釈されないことです。代わりに、IAC-EL文字はエコーバックされ、前の入力に「foo�ø」として追加されます。
これは、ラインモードが一度に1文字に設定されている場合の問題でしょうか?
また、サーバー側はtelnetを介してVT100を実行しています。VT100エスケープシーケンスを送信して、代わりに行を消去する方法があるかもしれません。たとえば、「←[1K」」です。とにかく、これまでVT100シーケンスを送信できませんでした。
java - FTPClient ダウンロードがすべてのバイトを受信したかどうかの確認
FTP Server
を使用して画像ファイルをダウンロードしますFTPClient
。私の見た目は次のようになります:
ファイルをダウンロードすると、以下に示すように出力が歪んで表示されます。
すべてのバイトが受信されたかどうかを確認する方法はありますか?それ以外の場合は、すべてが受信されるまで待ちますか?
java - Javaで(同期)ftpダウンロードをブロックしますか?
現在、アプリでFTPクライアント用のcommons-netライブラリを使用しています。ファイル名に基づくいくつかの基準によって、リモートサーバーからいくつかのファイルをダウンロードする必要があります。これは私の実際のコードの非常に単純化された縮小バージョンです(いくつかのチェックを行い、すべての可能な例外をキャッチするため)が、本質はそこにあります:
さて、私が気付いたのは、このコードを実行し、数秒待ってからネットワークケーブルを抜くと、出力ディレクトリにいくつかの「空の」ファイルと実際にダウンロードされたファイルが含まれていることです。非同期で...しかし、ここでも、いくつかのファイルがダウンロードされ(サイズ> 0KB)、これらの空のファイル(サイズ= 0KB)があるため、まだシリアル化されたダウンロードであると私は信じています...また、関数retrieveFile()返品、ドキュメントを引用します:
正常に完了した場合はtrue、そうでない場合はfalse
失敗したダウンロードをすべてログに記録する必要があるため、必要なのはシリアル化されたダウンロードです。commons-netソースを参照しているのを見たのは、間違っていなければ、 retrieveFile()呼び出し
ごとに新しいソケットが作成されるということです。
私はこれについてかなり混乱しているので、誰かが実際に何が起こっているのかを説明し、このライブラリで解決策を提供したり、ファイルごとのダウンロードのブロックをサポートする他のFTPJavaライブラリを推奨したりできればそれは素晴らしいことです。
ありがとう。
java - FTPClient(org.apache.commons.net.ftp.FTPClient) が大きな xml ファイルを取得できない
私のftpの場所には、2KB、76KB、216MBの3つの異なるサイズのファイルがあります。これらのファイルを 1 つずつ処理する必要があります。最初の 2 つのファイルは retrieveFileStream(FILE_NAME_HERE) を使用して簡単に取得できますが、3 番目のファイルの処理になると、時間がかかりすぎて (アプリケーションがハングし続け)、結果が得られません。ファイルを入力ストリームとして取得し、後でそれらから jaxb オブジェクトを作成する必要があります。これは、入力ストリームを取得するために使用しているユーティリティ メソッドです。
ここで私が間違っていることを教えてください。
java - Java FTP xls ファイルのアップロード
Java クラスの FTP サーバーにファイルをアップロードしようとしています。私はApacheライブラリを使用しています: org.apache.commons.net.ftp.FTPClient. XLS (Excel) ファイルをアップロードしようとするまで、アップロード機能は正常に機能します。特にアップロードすると、ファイルはアップロードされますが、破損しているようです。実際、そのサイズは元のサイズとは異なり、開こうとすると、正しく開かず、すべてのデータが表示されません。
ここに私が使用するコードの一部があります:
どうぞよろしくお願いいたします。
java - SSH経由でFTPトンネルを実行しようとしています
ある時点で、実行中のマシンから別のマシンにファイルを転送する必要がある作業用の Java プログラムを作成しています。要件は、FTP、SFTP、または認証が安全であるがデータが暗号化されずに転送される接続を介して転送を行うように構成できることです。
最初の 2 つを実装することは、サード パーティの Java ライブラリでそれほど悪くはないはずです。私が抱えている問題は、3番目のオプションにあります。これを行う唯一の方法は、FTP over SSH をトンネリングすることです。
私はこの問題にかなり慣れていないので、誰かに役立つ提案があるかどうか疑問に思っています。これは、信頼できる Java ライブラリ (推奨) またはプログラム内から別のプロセスとして呼び出す他のツールを使用して行うことができます。
ありがとう
java - FTPClient ファイルのダウンロードに失敗しました。retrieveFile() メソッドの返信コード = 550
/* localhost で FTP サーバーを実行しています。ファイルをダウンロードするときは ftpClient.retrieveFile() メソッドを使用します。replyCode は 550 です。commons-net の API を読んで、550 の replyCode を見つけました。定義は "public static final int FILE_UNAVAILABLE 550" ですが、コードから問題を見つけることができません。
ご協力いただきありがとうございます。
*/
java - FtpClientstoreFileは常にFalseを返します
これを理解してください。コードは例外なく正しく実行されます。
しかし、returnステートメントは常にfalseを返し、ファイルはサーバーにアップロードされません。誰かがこれを手伝ってください。
ちなみに、私はオフィスネットワークにいます。--->プロキシを追加する必要がありますか?
手伝ってください。