0

私はFTPクライアントに取り組んでいます。

私はすでにこれに基づいてFTPクライアントを作成しました: Android このコードでFTP経由でファイルをアップロードする方法。含まれている文字列を含むtxtファイルをFTPサーバーに送信することができました。

ローカルフォルダ「/sdcard/ftp/」に写真があります

今、私はコードを変更しようとしています。フォルダ内のすべてのjpgファイルがftpクライアントによって送信される可能性があります。

    package de.android.datenuebertragung;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;

import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPConnectionClosedException;
import org.apache.commons.net.ftp.FTPFile;

import android.app.Activity;
import android.util.Log;

public class FTPManager extends Activity{
    FTPClient con = new FTPClient();{


    try
    {
        con.connect("host");
        if (con.login("user", "password"))
        {


            // in application never use hardcoded paths
            File folder = new File("/sdcard/ftp/");
            File tempFile = null;
            FTPFile[] tempFTPFile = null;

            //get all files in folder
            for(String fileInDir : folder.list()){
                tempFile = new File(fileInDir);
                tempFTPFile = con.listNames(tempFile.getFiles);

                if(tempFTPFile!=null || tempFTPFile.length<=0){
                    con.upload(fileInDir);
                }
            }


        }
    }
    catch (Exception e)
    {
        e.printStackTrace();
    }


    try
    {
        con.logout();
        con.disconnect();
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }
}
}

これらのマークされた単語(getFilesとupload)に2つのエラーがあります。

  1. tempFTPFile = con.listNames(tempFile。getFiles ;
  2. 詐欺。アップロード(fileInDir);

con.listNames(tempFile.getFiles)のエラーは次のとおりです。getFilesを解決できないか、フィールドではありません

con.upload(fileInDir)のもう1つのエラーは、次のとおりです。メソッドupload(String)は、タイプFTPClientに対して未定義です。

私はこの問題を解決するために一日中試みました。誰かが私を助けてくれることを願っています。たぶん、変更されて機能したコードを投稿してください。私はAndroidプログラミングの絶対的な初心者です。

4

1 に答える 1

0

コードを直接貼り付けて、タイプミスがない場合は、この行ではなく、タイプミスである必要がgetFiles()ありgetFilesます...

tempFTPFile = con.listNames(tempFile.getFiles);

また、デフォルトの転送モードは ASCII になると思います (これは通常、どの FTP クライアント ソフトウェアにも当てはまります)。

電話してみる...

con.setFileType(FTP.BINARY_FILE_TYPE);

...アップロードを試みる前に。

于 2012-06-10T17:09:49.997 に答える