FileAttributes (@NotNull String pathStr) { if (SystemInfo.isWindows && pathStr.length() == 2 && pathStr.charAt(1) == ':') { LOG.error("Incomplete Windows path: " + pathStr); pathStr += '\\'; } try { Path path = Paths.get(pathStr); BasicFileAttributes attributes = NioFiles.readAttributes(path); return attributes == NioFiles.BROKEN_SYMLINK ? FileAttributes.BROKEN_SYMLINK : FileAttributes.fromNio(path, attributes); } catch (NoSuchFileException e) { LOG.trace(e.getClass().getName() + ": " + pathStr); return null; } catch (IOException | InvalidPathException e) { LOG.debug(pathStr, e); return null; } }