我可以使用以下代码将文件保存/复制到Google云端硬盘的任何文件夹中 。但是,当我应用此方法将文件夹保存在任何其他文件夹中时,它无法保存文件夹,也没有任何反应。我想复制一个文件夹并将其保存在其他地方
String LocationID="0B-WFTScd2afSFS34TC-223";//getting the id of the parent folder where we have to make the new file as its child
File orgnlFile =global_file;
File copiedFile = new File();
copiedFile.setTitle(orgnlFile.getTitle());
copiedFile.setMimeType(orgnlFile.getMimeType());
copiedFile.setParents(Arrays.asList(new ParentReference().setId(LocationID)));
try
{
mService.files().copy(orgnlFile.getId(), copiedFile).execute();
} catch (IOException e)
{
System.out.println("An error occurred: " + e);
}
但不幸的是,它不适用于其他目录中的copy-paste文件夹
答案 0 :(得分:1)
这是因为复制正在将文件的媒体内容复制到新文件中。由于文件夹没有媒体内容,因此无需复制。
当您说“我想复制文件夹”时,您的意思是(1)仅复制 文件夹,或者(2)复制文件夹和文件夹中的所有文件,然后执行此操作是指(3)复制还是简单地做出第二次参考?
根据您要实现的目标,您需要制作的Drive API调用不同。
或许解释你想要的最好的方法是用* nix命令“cp”,“mv”和“ln”来表达它
创建文件夹-a(位于文件夹-b下)及其子文件夹-c的副本(在* nix中,“cp -R / folder -b / folder-a / folder-c” )你需要: -
如果文件夹-a中有文件夹,则需要以递归方式执行上述操作