我必须找出带有目录路径的对象的类型(文件夹/文件)。
例如我必须找出具有此路径的对象是一个文件。
/home/user/test.docx
我找到了一种可行的解决方案,但这并不是一个很好的解决方案。
try {
final Folder parentFolder = (Folder) session.getObjectByPath(path);
//throws exception when path points to a file
//do sth when it's a folder
} catch (final Exception e) {
//do sth when it's a document/file
}
在这里我不能使用'instance of',因为我无法在不知道输出类型的情况下获取对象(使用session.getObjectByPath)。
是否有更好的方法来找出带有路径的对象类型?
答案 0 :(得分:2)
您可以像这样直接使用instanceof
来代替直接将其强制转换为Folder:
CmisObject cmisObject = session.getObjectByPath(path);
if (cmisObject instanceof Document) {
Document document = (Document) cmisObject;
} else if (cmisObject instanceof Folder) {
Folder folder = (Folder) cmisDocument;
}