我正在尝试列出liferay网站根文件夹下的所有文件和文件夹。
QueryDefinition queryDefinition = new QueryDefinition(WorkflowConstants.STATUS_ANY, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
List<Object> list = DLFolderLocalServiceUtil.getFoldersAndFileEntriesAndFileShortcuts(groupId, folderId, null, true, queryDefinition);
这是正确的方法吗?如何区分文件和文件夹?
答案 0 :(得分:1)
您可以获取并区分所有文件,文件夹和快捷方式,如下所示:
List <Object> foldersAndFileEntriesAndFileShortcuts =
DLAppServiceUtil.getFoldersAndFileEntriesAndFileShortcuts(
folder.getGroupId(), folderId, WorkflowConstants.STATUS_ANY,
true, QueryUtil.ALL_POS, QueryUtil.ALL_POS);
for (Object folderAndFileEntryAndFileShortcut: foldersAndFileEntriesAndFileShortcuts) {
if (folderAndFileEntryAndFileShortcut instanceof FileEntry) {
FileEntry fileEntry = (FileEntry) folderAndFileEntryAndFileShortcut;
} else if (folderAndFileEntryAndFileShortcut instanceof Folder) {
Folder subFolder = (Folder) folderAndFileEntryAndFileShortcut;
} else if (folderAndFileEntryAndFileShortcut instanceof DLFileShortcut) {
DLFileShortcut dlFileShorcut = (DLFileShortcut) folderAndFileEntryAndFileShortcut;
}
}
答案 1 :(得分:0)
有一个名为:DLAppServiceUtil的util,其方法有:getFoldersAndFileEntriesAndFileShortcuts。看看这个link(liferay代码)。