找出对象类型及其路径

find out object type with its path

我必须找出对象的类型 (folder/file) 及其目录路径。

例如我必须找出这个路径的对象是一个文件。

/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)。

有没有更好的方法来找出对象类型及其路径?

您可以像这样使用 instanceof 而不是直接将其类型转换为文件夹:

CmisObject cmisObject = session.getObjectByPath(path);

if (cmisObject instanceof Document) {
    Document document = (Document) cmisObject;
} else if (cmisObject instanceof Folder) {
    Folder folder = (Folder) cmisDocument;
}