2015-04-01 22 views
0

我想列出liferay站點根文件夾下的所有文件和文件夾。如何在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

有一個util調用:DLAppServiceUtil與方法:getFoldersAndFileEntriesAndFileShortcuts。看看這個link(liferay代碼)。

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; 
    } 
} 
相關問題