android - 在不删除旧数据的情况下向 FTP 服务器中的文件添加内容?

标签 android ftp apache-commons-net ftp-server

我正在使用下面的代码连接到服务器并发送文件。问题是文件可能会随着时间变大,所以我想:

  1. 发送名为“file”的文件到服务器

  2. 下次我在文件"file"中写入时,我将删除旧内容并写入新数据。

  3. 我希望将与旧文件同名"file"但具有不同新内容(因为旧内容已被覆盖)的新文件发送到服务器。

以下是可行的吗:我可以获取与我发送的文件同名的文件"file"吗,而不是用新文件替换它,而是将新文件添加到文件的末尾结合这两种内容的旧文件?

这就是我将文件发送到服务器的方式:

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();

StrictMode.setThreadPolicy(policy);
FTPClient con = null;
FileInputStream fileIn= null;
//Find the directory for the SD Card using the API
File sdcard = Environment.getExternalStorageDirectory();

//Get the text file
File file = new File(sdcard,"file");

try {
    con = new FTPClient();
    con.connect("****************", **);
    showServerReply(con);

    if (con.login("***********", "*******")) {
        con.enterLocalPassiveMode();
        con.setFileType(FTP.BINARY_FILE_TYPE);
        String data=String.valueOf(Environment.getExternalStorageDirectory())+"/file";
        fileIn = new FileInputStream(new File(data));

        boolean result = con.storeFile("/"+android.os.Build.MODEL+".txt", fileIn);
        fileIn.close();
        con.logout();
        con.disconnect();
    }
} catch (Exception e) {
    e.printStackTrace();
}

最佳答案

只需将您的storeFile 调用替换为appendFile .

boolean result = con.appendFile("/"+android.os.Build.MODEL+".txt", fileIn);
                

关于android - 在不删除旧数据的情况下向 FTP 服务器中的文件添加内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42707923/

相关文章:

android - java.lang.NoSuchMethodError : android. os.Bundle.getString

android - YouTube播放器观看缓冲的视频丢失

android - 如何在android中删除圆形 ImageView 周围的黑色背景

ftp - 如何防止文件中出现空行或一行中的所有代码以及如何重新格式化它们?

java - JDK 8u161 中 Apache FTPS 客户端中的 SSL session 重用

Java FTPClient (apache commons) storefile() 成功上传文件,然后超时..?

android - DialogFragment 被状态栏重叠

ios - 是否可以在 iOS 中通过 FTP 写入远程文件?

windows - 如何在 Windows 命令提示符下使用被动 FTP 模式?

java - commons-net FTPClient.retrieveFileStream() 返回错误结果