如何在liferay中一起列出文件和文件夹?

时间:2015-04-01 13:43:27

标签: list file liferay directory

我正在尝试列出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);

这是正确的方法吗?如何区分文件和文件夹?

2 个答案:

答案 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代码)。