在不删除旧数据的情况下向 FTP 服务器中的文件添加内容?
Add content to a file in an FTP server without erasing old data?
我正在使用下面的代码连接到服务器并发送文件。问题是文件可能会随着时间变大,所以我想:
发送名为"file"的文件到服务器
下次我在文件中写入时"file"我将擦除旧内容并写入新数据。
我要将与旧文件同名"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);
我正在使用下面的代码连接到服务器并发送文件。问题是文件可能会随着时间变大,所以我想:
发送名为"file"的文件到服务器
下次我在文件中写入时"file"我将擦除旧内容并写入新数据。
我要将与旧文件同名"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);