3

ftp 経由でファイルをダウンロードしようとしていますが、retrieveFileStream は null を返します。getReplyString をチェックして 200 を返します。これが私のコードです。

File file = new File(this.config.getDestDirectory() + File.separator + fileName);
String t = this.ftp.getReplyString();
InputStream in = this.ftp.retrieveFileStream(fileName);
FileOutputStream fos = new FileOutputStream(file);
StreamUtils.copy(in, fos);
in.close();
fos.close();

なにか提案を?

どうもありがとうございます。

4

4 に答える 4

0

ここに画像の説明を入力

上記の回答をすべて確認しても問題が解決しない場合は、ソースの下の上記の設定を確認してください。Excluded:** がある場合、ファイルは使用できません。その ** を編集オプションから削除するだけで、コードが機能するはずです。私は持っている

于 2013-09-17T21:36:30.060 に答える
0

この方法を試してください..私のコードベースの例です。オープンソースのApache commons-net-ftp-2.0を使用しました。

public void goforIt()
{
    FTPClient con = null;

    try
    {
        con = new FTPClient();
        con.connect("10.0.0.1");     // Dummy address

        if (con.login("Administrator", "KUjWbk361wobbyl"))
        {
            con.enterLocalPassiveMode(); // important!
            con.setFileType(FTP.BINARY_FILE_TYPE);
            String data = "/sdcard/2prerakm4a.m4a";

            OutputStream out = new FileOutputStream(new File(data));
            boolean result = con.retrieveFile("prerakm4a.m4a", out);
            out.close();
            if (result) Log.v("download result", "succeeded");
            con.logout();
            con.disconnect();
        }
    }
    catch (Exception e)
    {
        Log.v("download result","failed");
        e.printStackTrace();
    }
}
于 2012-06-14T10:09:06.900 に答える
-1

ここで、このメソッドがいつ null を返すかを確認できます: http://commons.apache.org/net/api-3.1/src-html/org/apache/commons/net/ftp/FTPClient.html#line.1742

于 2012-06-14T09:58:36.717 に答える