[解決済み] FtpClient storeFileは常にFalseを返します。
2022-02-08 05:27:41
質問
これを解明してください。コードは例外なく正しく実行されます。
try
{
FTPClient ftp = new FTPClient();
ftp.connect(server);
if(!ftp.login(username, password))
{
ftp.logout();
return false;
}
int reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply))
{
ftp.disconnect();
return false;
}
InputStream in = new FileInputStream(localfile);
ftp.setFileType(ftp.BINARY_FILE_TYPE, ftp.BINARY_FILE_TYPE);
ftp.setFileTransferMode(ftp.BINARY_FILE_TYPE);
Store = ftp.storeFile(destinationfile, in);
in.close();
ftp.logout();
ftp.disconnect();
}
catch (Exception ex)
{
ex.printStackTrace();
return false;
}
return Store;
しかし、return文は常にfalseを返し、ファイルはサーバーにアップロードされません。どなたか助けてください。
ちなみに、私はオフィスのネットワーク内にいます。--->何かプロキシを追加する必要があるのでしょうか?
File file = new File("C:\\Users\\sg0214273\\Desktop\\seagate\\seagate.txt");
FileInputStream input = new FileInputStream(file);
client.setFileType(FTP.BINARY_FILE_TYPE);
if (!client.storeFile(file.getName(), input)) {
System.out.println("upload failed!");
}
reply = client.getReplyCode();
if(!FTPReply.isPositiveCompletion(reply)) {
System.out.println("upload failed!");
}
Login success...
230 User ******** logged in.
upload failed!-----> is form boolean return value of storefile
upload failed!---------> is from replycode...
Logout from FTP server...
よろしくお願いします。
解決方法は?
正確な失敗メッセージは、次のように呼び出すことで確認できます。 FtpClient#getReplyCode() . そのページより(私が強調)。
接続直後は、実際に確認する必要がある唯一のタイミングです。 というのは、connect は void 型だからです。に対する規約は FTPClient のすべての FTP コマンドメソッドは、以下のいずれかです。 はブール値または他の値を返します。ブール値のメソッドは FTPサーバーから正常終了の返信があった場合はtrueを、FTPサーバーから正常終了の返信があった場合はfalseを返します。 は、エラー状態または失敗をもたらす応答を返します。メソッド boolean以外の値を返す場合は、その値を含む値を返します。 FTPコマンドで生成された上位データ、または返信があった場合はNULLを使用します。 の結果、エラー状態または失敗となった。 にアクセスしたい場合は 成功または失敗の原因となった正確なFTPリプライコードを知るには 成功または失敗の後に getReplyCode を取得します。
リターンコードの意味を知るには ウィキペディア FTPサーバーのリターンコード一覧 .
関連
-
[解決済み】Javaの".class期待値"
-
[解決済み】"|="の意味は何ですか?(パイプ等号演算子)
-
[解決済み】 java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver [重複]。
-
[解決済み】Javaを包含するクラスではないのか?
-
[解決済み】Java Error "Exception in thread "main" java.util.InputMismatchException" Array プログラムで発生。
-
[解決済み】intがnullであるかどうかを確認する方法
-
[解決済み】Javaの未処理例外について
-
[解決済み】Javaの".class expected "について
-
[解決済み】フォルダに書き込もうとすると「java.nio.file.AccessDeniedException」が発生する件
-
[解決済み】Javaではfinallyブロックは必ず実行されるのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】javaで指定されたファイルが見つからない
-
[解決済み】代入の左手は必ず変数 CharAt
-
[解決済み】Javaの部分文字列:「文字列のインデックスが範囲外」。
-
[解決済み】非閉鎖文字リテラルエラー
-
[解決済み】Eclipseがエラーメッセージ "Java was started but returned exit code = 1" を返す
-
[解決済み】Javaで無限大を実装する方法とは?
-
[解決済み】 JAVA 変数宣言はここではできない
-
[解決済み】Javaを包含するクラスではないのか?
-
[解決済み】純粋なJUnitテストにVisibleForTestingを使用する方法
-
[解決済み] [Solved] java.lang.NoClassDefFoundError: クラスXXXを初期化できませんでした。