向 FTP 服务器中的文件添加内容而不删除旧数据?

问题描述 投票:0回答:1

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

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

  2. 下次我写入文件“file”时,我将擦除旧内容并写入新数据。

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

以下是否可行:我可以获取与我发送的文件同名的文件“文件”吗?新文件将添加到旧文件的末尾,而不是被新文件替换结合两个内容?

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

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();
}
android ftp apache-commons-net ftp-server
1个回答
1
投票

只需将您的

storeFile
呼叫替换为
appendFile

boolean result = con.appendFile("/"+android.os.Build.MODEL+".txt", fileIn);
                
© www.soinside.com 2019 - 2024. All rights reserved.