有没有办法 upload/download 文件 from/to Dropbox 同时保持文件的修改日期?
Is there a way to upload/download a file from/to Dropbox while keeping the modification date of the file?
我正在尝试为我的写作应用程序构建一个同步系统,以便我可以将我的文本文件与 Dropbox 文件夹同步并从我的计算机上编辑它们。
问题是,上传文件时,其修改日期对应于上传时间的日期,而不是文件内容的最后一次修改时间,而且看起来Dropbox文件的修改时间比本地文件的修改时间晚文件。下载也是一样,因为本地版本的修改日期比 Dropbox 版本更新。
当我想比较日期以确定本地版本和网络版本之间哪个版本是最新版本时,这使事情变得复杂,如果我需要上传本地版本或下载网络版本 -迄今为止。
有没有办法保留原文件的修改日期?目前,我正在使用这些功能,但也许我应该使用完全不同的方法。
public void uploadFile(String local_path, String db_path) {
try {
InputStream in = new FileInputStream(local_path);
client.files().uploadBuilder(db_path)
.withMode(WriteMode.OVERWRITE)
.uploadAndFinish(in);
}
catch (FileNotFoundException fne) { fne.printStackTrace(); }
catch (IOException ioe) { ioe.printStackTrace(); }
catch (DbxException dbxe) { dbxe.printStackTrace(); }
}
public void downloadFile(String db_path, String local_path) {
try {
File dest = new File(local_path);
try (OutputStream outputStream = new FileOutputStream(dest)) {
client.files().download(db_path).download(outputStream);
}
}
catch (DbxException e) { e.printStackTrace(); }
catch (IOException e) { e.printStackTrace(); }
}
您可以使用 UploadBuilder.withClientModified
设置 clientModified
日期。但是无法覆盖 serverModified
日期。
我正在尝试为我的写作应用程序构建一个同步系统,以便我可以将我的文本文件与 Dropbox 文件夹同步并从我的计算机上编辑它们。
问题是,上传文件时,其修改日期对应于上传时间的日期,而不是文件内容的最后一次修改时间,而且看起来Dropbox文件的修改时间比本地文件的修改时间晚文件。下载也是一样,因为本地版本的修改日期比 Dropbox 版本更新。
当我想比较日期以确定本地版本和网络版本之间哪个版本是最新版本时,这使事情变得复杂,如果我需要上传本地版本或下载网络版本 -迄今为止。
有没有办法保留原文件的修改日期?目前,我正在使用这些功能,但也许我应该使用完全不同的方法。
public void uploadFile(String local_path, String db_path) {
try {
InputStream in = new FileInputStream(local_path);
client.files().uploadBuilder(db_path)
.withMode(WriteMode.OVERWRITE)
.uploadAndFinish(in);
}
catch (FileNotFoundException fne) { fne.printStackTrace(); }
catch (IOException ioe) { ioe.printStackTrace(); }
catch (DbxException dbxe) { dbxe.printStackTrace(); }
}
public void downloadFile(String db_path, String local_path) {
try {
File dest = new File(local_path);
try (OutputStream outputStream = new FileOutputStream(dest)) {
client.files().download(db_path).download(outputStream);
}
}
catch (DbxException e) { e.printStackTrace(); }
catch (IOException e) { e.printStackTrace(); }
}
您可以使用 UploadBuilder.withClientModified
设置 clientModified
日期。但是无法覆盖 serverModified
日期。