java - FTP:创建文件夹 (Android)

标签 java android ftp apache-commons-net

我需要在FTP中创建一个文件夹,并将该路径“mnt/sdcard/yummycandy/”的所有文件上传到该文件夹​​。

新文件夹的名称必须是智能手机的序列号,如以下代码所示:

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;
}

这是我使用的代码。我希望您修改它(创建一个以设备序列号命名的文件夹并在该文件夹中上传文件)

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();
    }
}

最佳答案

使用FTPClient.makeDirectory :

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

(添加一些错误检查)

关于java - FTP:创建文件夹 (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41538148/

相关文章:

java - 在Java游戏中播放小声音

java - 加载 JNI 共享库失败

java - Android 的 HtmlUnit 替代品?

java - 如何使几个 View 具有相同的宽度

android - 在 ScrollView 中点击文本字段时背景图像被拉伸(stretch)

java - 关于 "Redundant ' static'修饰符”警告

Android:这个 Paint 标志是做什么的:DEV_KERN_TEXT_FLAG?

php - 通过 curl 使用 PHP 上传多个文件

redirect - 通过ssh隧道进行ftp

Python ftp 只列出目录而不是文件