Я пытаюсь разработать программу на Java, которая извлекает файл с Google Диска и пытается загрузить его «как есть». Однако во время этого процесса он теряет формат.
Вот как я могу получить файл:
private static java.io.File downloadFile(File uploadedFile)
throws IOException {
java.io.File downloadedFile = new java.io.File(parentDir, uploadedFile.getTitle() + UUID.randomUUID().toString());
try (OutputStream out = new FileOutputStream(downloadedFile)) {
drive.files().export(uploadedFile.getId(), "text/html").executeMediaAndDownloadTo(out);
}
return downloadedFile;
}
Вот как я обновляю файл:
private static File updateFile(Drive service, String fileId, File file, java.io.File newContent) throws IOException {
FileContent mediaContent = new FileContent("text/html", newContent);
return service.files().update(fileId, file, mediaContent).execute();
}
А вот как я комбинирую эти методы (довольно глупо):
java.io.File downloaded = downloadFile(files.get(0));
updateFile(drive, files.get(0).getId(), files.get(0), downloaded);
Это файл до и после:
Процесс хорош, когда я экспортирую и повторно импортирую файл Google в формате RTF или PDF, но мне действительно нужен редактируемый формат. Я что-то пропустил?