我正在使用适用于Android的ApacheFTPClient
。我从服务器下载文件并覆盖它们而不是本地文件。我需要确保文件已正确下载。该方法FTPClient.retrieveFile
对我有用吗?它是检查文件的正确性还是立即覆盖它?即,如果下载了损坏的文件(例如互联网断开连接(,那么在本地设备上我会收到旧版本的文件还是损坏?
Apache Commons NetFTPClient.retrieveFile
不直接处理任何本地文件。它将OutputStream
作为参数,并将下载的数据盲目写入其中。
这取决于OutputStream
,它如何处理数据。
如果您使用FileOutputStream
,它将立即覆盖现有文件 – 甚至在您实际调用FTPClient.retrieveFile
之前。
如果需要任何其他行为,则必须对其进行编码。