2017-01-08 32 views
2

私はFTPでフォルダを作成し、このパスのすべてのファイル "mnt/sdcard/yummycandy /"をこのフォルダにアップロードする必要があります。FTP:フォルダを作成する(Android)

新しいフォルダの名前は、このコードのようにスマートフォンのシリアル番号でなければなりません:

public static String getManufacturerSerialNumber() { 
    String serial = null; 
    try { 
     Class<?> c = Class.forName("android.os.SystemProperties"); 
     Method get = c.getMethod("get", String.class, String.class); 
     serial = (String) get.invoke(c, "ril.serialnumber", "unknown"); 
    } catch (Exception ignored) {} 
    return serial; 
} 

は、これは私が使用するコードです。私はFTPClient.makeDirectoryを使用

public static final String TAG = "Contacts"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Thread t = new Thread(new Runnable(){ 
     @Override 
     public void run(){ 
      jetzt(); 
     } 
    }); 
    t.start(); 
    Log.i(TAG, "thread started"); 

} 

public void jetzt() { 
    FTPClient ftpClient = new FTPClient(); 
    try { 
     ftpClient.connect(" HOST SERVER IP "); 

     ftpClient.setSoTimeout(10000); 
     ftpClient.enterLocalPassiveMode(); 
     if (ftpClient.login(" LOGIN ", " PASSWORD ")) { 
      ftpClient.setFileType(FTP.BINARY_FILE_TYPE); 
      ftpClient.setFileTransferMode(FTP.BINARY_FILE_TYPE); 

      final File folder = new File("mnt/sdcard/gamouz"); 

      for (final File fileEntry : folder.listFiles()) { 
       try { 
        FileInputStream fs = new FileInputStream(fileEntry); 
        if (!fileEntry.isDirectory()) { 
         String fileName = fileEntry.getName(); 
         ftpClient.storeFile(fileName, fs); 
         fs.close(); 
         Log.i(TAG, "sent"); 
        } 
       } catch (Exception e) { 
        Log.i(TAG, "error uploading"); 
       } 
      } 
     } 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 
+0

あなたのコードにどのような問題があるのか​​教えてください。 – Okas

+0

2番目のコードを変更してください(デバイスのシリアル番号を付けたフォルダを作成し、このフォルダにファイルをアップロードしてください) –

答えて

2

あなたは、(デバイスのシリアル番号と名前のフォルダを作成し、このフォルダ内のファイルをアップロードする)、それを修正してくださいしたい:

final String serial = getManufacturerSerialNumber(); 
ftpClient.makeDirectory(serial); 
ftpClient.changeWorkingDirectory(serial); 

(いくつかのエラーチェックを追加します)

+0

ありがとうございます!!!!あなたはすごいね :) –

関連する問題