java.nio.file.LinkOption Java Examples
The following examples show how to use
java.nio.file.LinkOption.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source Project: deprecated-security-advanced-modules Author: opendistro-for-elasticsearch File: AuditMessage.java License: Apache License 2.0 | 6 votes |
public void addFileInfos(Map<String, Path> paths) { if (paths != null && !paths.isEmpty()) { List<Object> infos = new ArrayList<>(); for(Entry<String, Path> path: paths.entrySet()) { try { if(Files.isReadable(path.getValue())) { final String chcksm = DigestUtils.sha256Hex(Files.readAllBytes(path.getValue())); FileTime lm = Files.getLastModifiedTime(path.getValue(), LinkOption.NOFOLLOW_LINKS); Map<String, Object> innerInfos = new HashMap<>(); innerInfos.put("sha256", chcksm); innerInfos.put("last_modified", formatTime(lm.toMillis())); innerInfos.put("key", path.getKey()); innerInfos.put("path", path.getValue().toAbsolutePath().toString()); infos.add(innerInfos); } } catch (Throwable e) { //ignore non readable files } } auditInfo.put(COMPLIANCE_FILE_INFOS, infos); } }
Example #2
Source Project: Java-Coding-Problems Author: PacktPublishing File: Main.java License: MIT License | 6 votes |
public static void main(String[] args) throws IOException { Path path = Paths.get("/learning/packt", "JavaModernChallenge.pdf"); String pathToString = path.toString(); System.out.println("Path to String: " + pathToString); URI pathToURI = path.toUri(); System.out.println("Path to URI: " + pathToURI); Path pathToAbsolutePath = path.toAbsolutePath(); System.out.println("Path to absolute path: " + pathToAbsolutePath); Path path2 = Paths.get("/learning/books/../PACKT/./", "JavaModernChallenge.pdf"); Path realPath = path2.toRealPath(LinkOption.NOFOLLOW_LINKS); System.out.println("Path to 'real' path: " + realPath); File pathToFile = path.toFile(); Path fileToPath = pathToFile.toPath(); System.out.println("Path to file name: " + pathToFile.getName()); System.out.println("File to path: " + fileToPath); }
Example #3
Source Project: stone Author: Alension File: HaloUtils.java License: GNU General Public License v3.0 | 6 votes |
/** * 获取文件创建时间 * * @param srcPath 文件绝对路径 * * @return 时间 */ public static Date getCreateTime(String srcPath) { final Path path = Paths.get(srcPath); final BasicFileAttributeView basicview = Files.getFileAttributeView(path, BasicFileAttributeView.class, LinkOption.NOFOLLOW_LINKS); BasicFileAttributes attr; try { attr = basicview.readAttributes(); final Date createDate = new Date(attr.creationTime().toMillis()); return createDate; } catch (Exception e) { e.printStackTrace(); } final Calendar cal = Calendar.getInstance(); cal.set(1970, 0, 1, 0, 0, 0); return cal.getTime(); }
Example #4
Source Project: incubator-taverna-language Author: apache File: BundleFileSystemProvider.java License: Apache License 2.0 | 6 votes |
@Override public <V extends FileAttributeView> V getFileAttributeView(Path path, Class<V> type, LinkOption... options) { BundleFileSystem fs = (BundleFileSystem) path.getFileSystem(); if (path.toAbsolutePath().equals(fs.getRootDirectory())) { // Bug in ZipFS, it will fall over as there is no entry for / // // Instead we'll just give a view of the source (e.g. the zipfile // itself). // Modifying its times is a bit futile since they are likely to be // overriden when closing, but this avoids a NullPointerException // in Files.setTimes(). return Files.getFileAttributeView(fs.getSource(), type, options); } return origProvider(path).getFileAttributeView(fs.unwrap(path), type, options); }
Example #5
Source Project: mirror Author: stephenh File: WatchmanFileWatcher.java License: Apache License 2.0 | 6 votes |
private void readSymlinkTarget(Update.Builder ub) { try { Path path = ourRoot.resolve(ub.getPath()); Path symlink = Files.readSymbolicLink(path); String targetPath; if (symlink.isAbsolute()) { targetPath = path.getParent().normalize().relativize(symlink.normalize()).toString(); } else { // the symlink is already relative, so we can leave it alone, e.g. foo.txt targetPath = symlink.toString(); } ub.setSymlink(targetPath); // Ensure our modtime is of the symlink itself (I'm not actually // sure which modtime watchman sends back, but this is safest). ub.setModTime(Files.getLastModifiedTime(path, LinkOption.NOFOLLOW_LINKS).toMillis()); } catch (IOException e) { // ignore as the file probably disappeared log.debug("Exception reading symlink, assumed stale", e); } }
Example #6
Source Project: deprecated-security-ssl Author: opendistro-for-elasticsearch File: DefaultOpenDistroSecurityKeyStore.java License: Apache License 2.0 | 6 votes |
private static void checkPath(String keystoreFilePath, String fileNameLogOnly) { if (keystoreFilePath == null || keystoreFilePath.length() == 0) { throw new ElasticsearchException("Empty file path for " + fileNameLogOnly); } if (Files.isDirectory(Paths.get(keystoreFilePath), LinkOption.NOFOLLOW_LINKS)) { throw new ElasticsearchException( "Is a directory: " + keystoreFilePath + " Expected a file for " + fileNameLogOnly); } if (!Files.isReadable(Paths.get(keystoreFilePath))) { throw new ElasticsearchException("Unable to read " + keystoreFilePath + " (" + Paths.get(keystoreFilePath) + "). Please make sure this files exists and is readable regarding to permissions. Property: " + fileNameLogOnly); } }
Example #7
Source Project: zip4j Author: srikanth-lingala File: FileUtilsTestWindows.java License: Apache License 2.0 | 6 votes |
private DosFileAttributeView mockDosFileAttributeView(Path path, boolean fileExists, DosFileAttributes dosFileAttributes) throws IOException { FileSystemProvider fileSystemProvider = mock(FileSystemProvider.class); FileSystem fileSystem = mock(FileSystem.class); DosFileAttributeView dosFileAttributeView = mock(DosFileAttributeView.class); when(fileSystemProvider.readAttributes(path, BasicFileAttributes.class, LinkOption.NOFOLLOW_LINKS)).thenReturn(dosFileAttributes); when(path.getFileSystem()).thenReturn(fileSystem); when(fileSystemProvider.getFileAttributeView(path, DosFileAttributeView.class, LinkOption.NOFOLLOW_LINKS)) .thenReturn(dosFileAttributeView); when(path.getFileSystem().provider()).thenReturn(fileSystemProvider); if (!fileExists) { doThrow(new IOException()).when(fileSystemProvider).checkAccess(path); } return dosFileAttributeView; }
Example #8
Source Project: sftp-fs Author: robtimus File: SFTPFileSystemTest.java License: Apache License 2.0 | 6 votes |
@Test public void testReadAttributesFileNoFollowLinks() throws IOException { Path foo = addFile("/foo"); setContents(foo, new byte[1024]); PosixFileAttributes attributes = fileSystem.readAttributes(createPath("/foo"), LinkOption.NOFOLLOW_LINKS); assertEquals(Files.size(foo), attributes.size()); assertNotNull(attributes.owner().getName()); assertNotNull(attributes.group().getName()); assertNotNull(attributes.permissions()); assertFalse(attributes.isDirectory()); assertTrue(attributes.isRegularFile()); assertFalse(attributes.isSymbolicLink()); assertFalse(attributes.isOther()); }
Example #9
Source Project: openjdk-jdk9 Author: AdoptOpenJDK File: PollingWatchService.java License: GNU General Public License v2.0 | 6 votes |
PollingWatchKey(Path dir, PollingWatchService watcher, Object fileKey) throws IOException { super(dir, watcher); this.fileKey = fileKey; this.valid = true; this.tickCount = 0; this.entries = new HashMap<Path,CacheEntry>(); // get the initial entries in the directory try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir)) { for (Path entry: stream) { // don't follow links long lastModified = Files.getLastModifiedTime(entry, LinkOption.NOFOLLOW_LINKS).toMillis(); entries.put(entry.getFileName(), new CacheEntry(lastModified, tickCount)); } } catch (DirectoryIteratorException e) { throw e.getCause(); } }
Example #10
Source Project: sftp-fs Author: robtimus File: SFTPFileSystemTest.java License: Apache License 2.0 | 6 votes |
@Test public void testReadAttributesSymLinkToDirectoryFollowLinks() throws IOException { Path foo = addDirectory("/foo"); addSymLink("/bar", foo); PosixFileAttributes attributes = fileSystem.readAttributes(createPath("/bar")); long sizeOfFoo = Files.readAttributes(foo, BasicFileAttributes.class, LinkOption.NOFOLLOW_LINKS).size(); // on Windows, foo and bar have the same sizes assertEquals(sizeOfFoo, attributes.size()); assertNotNull(attributes.owner().getName()); assertNotNull(attributes.group().getName()); assertNotNull(attributes.permissions()); assertTrue(attributes.isDirectory()); assertFalse(attributes.isRegularFile()); assertFalse(attributes.isSymbolicLink()); assertFalse(attributes.isOther()); }
Example #11
Source Project: meghanada-server Author: mopemope File: FileUtils.java License: GNU General Public License v3.0 | 6 votes |
@SuppressWarnings("try") public static Optional<File> getClassFile( String path, final Set<File> sourceRoots, final File out) throws IOException { try (TelemetryUtils.ScopedSpan scope = TelemetryUtils.startScopedSpan("FileUtils.getClassFile")) { TelemetryUtils.ScopedSpan.addAnnotation( TelemetryUtils.annotationBuilder() .put("sourceRoot", sourceRoots.toString()) .put("out", out.getPath()) .build("args")); String outPath = out.getCanonicalPath(); for (File rootFile : sourceRoots) { final String root = rootFile.getCanonicalPath(); if (path.startsWith(root)) { final String src = path.substring(root.length()); final String classFile = StringUtils.replace(src, JAVA_EXT, CLASS_EXT); final Path p = Paths.get(outPath, classFile); if (Files.exists(p, LinkOption.NOFOLLOW_LINKS)) { return Optional.of(p.toFile()); } } } return Optional.empty(); } }
Example #12
Source Project: p4ic4idea Author: groboclown File: SymbolicLinkHelper.java License: Apache License 2.0 | 6 votes |
/** * Gets the last modified time for a symbolic link. * * Note: symbolic links are not followed (NOFOLLOW_LINKS LinkOption) * * @param link the path to the symbolic link * @return last modified time of the symbolic link */ public static long getLastModifiedTime(String link) { if (nonNull(link)) { try { Path linkPath = Paths.get(link); if (nonNull(linkPath)) { FileTime fileTimeObject = Files.getLastModifiedTime(linkPath, LinkOption.NOFOLLOW_LINKS); if (nonNull(fileTimeObject)) { return fileTimeObject.toMillis(); } } } catch (Throwable thr) { Log.error("Unexpected exception invoking method: %s", thr.getLocalizedMessage()); Log.exception(thr); } } return 0L; }
Example #13
Source Project: meghanada-server Author: mopemope File: FileUtils.java License: GNU General Public License v3.0 | 6 votes |
@SuppressWarnings("try") private static boolean hasClassFile( final String path, final Set<File> sourceRoots, final File out) throws IOException { try (TelemetryUtils.ScopedSpan scope = TelemetryUtils.startScopedSpan("FileUtils.hasClassFile")) { TelemetryUtils.ScopedSpan.addAnnotation( TelemetryUtils.annotationBuilder() .put("sourceRoot", sourceRoots.toString()) .put("out", out.getPath()) .build("args")); final String outPath = out.getCanonicalPath(); for (final File rootFile : sourceRoots) { final String root = rootFile.getCanonicalPath(); if (path.startsWith(root)) { final String src = path.substring(root.length()); final String classFile = StringUtils.replace(src, JAVA_EXT, CLASS_EXT); final Path p = Paths.get(outPath, classFile); return Files.exists(p, LinkOption.NOFOLLOW_LINKS); } } return false; } }
Example #14
Source Project: baratine Author: baratine File: FileProviderClasspath.java License: GNU General Public License v2.0 | 6 votes |
@Override public <A extends BasicFileAttributes> A readAttributes(Path path, Class<A> type, LinkOption... options) throws IOException { URL url = getURL(path); if (url == null) { throw new FileNotFoundException(L.l("{0} does not exist", path)); } if (! type.equals(BasicFileAttributes.class)) { throw new UnsupportedOperationException(type.getName()); } PathBase pathBase = (PathBase) path; return (A) new BasicFileAttributesImpl(pathBase.path(), url); }
Example #15
Source Project: netbeans Author: apache File: PasswordFile.java License: Apache License 2.0 | 6 votes |
/** * Create password file to be written with access permissions to read * and write by user only. * <p/> * @return Value of <code>true</code> if new file was created * or <code>false</code> otherwise */ private boolean createFilePosix() { final String METHOD = "createFilePosix"; boolean success = false; try { if (Files.notExists(file, new LinkOption[0])) { Files.createFile(file, PosixFilePermissions .asFileAttribute(CREATE_FILE_PERMISSIONS)); success = true; } else { Files.setPosixFilePermissions(file, CREATE_FILE_PERMISSIONS); LOGGER.log(Level.INFO, METHOD, "exists", file.toString()); } } catch (UnsupportedOperationException uoe) { LOGGER.log(Level.INFO, METHOD, "unsupported", file.toString()); } catch (FileAlreadyExistsException faee) { LOGGER.log(Level.INFO, METHOD, "exists", file.toString()); } catch (IOException ioe) { LOGGER.log(Level.INFO, METHOD, "ioException", ioe); } return success; }
Example #16
Source Project: scava Author: crossminer File: MigrationService.java License: Eclipse Public License 2.0 | 6 votes |
private String getM3model(MavenLibrary lib) throws Exception { // TODO CHECK HERE Artifact v1 = downloader.downloadArtifactTo( new DefaultArtifact( String.format("%s:%s:%s", lib.getGroupid(), lib.getArtifactid(), lib.getVersion())), mavenRepoPath); lib.setArtifact(v1); String libM3 = lib.getArtifact().getFile().getAbsolutePath() + ".m3"; if (!Files.exists(Paths.get(libM3), new LinkOption[] { LinkOption.NOFOLLOW_LINKS })) { String libJar = lib.getArtifact().getFile().getAbsolutePath(); boolean bLib1 = maracas.storeM3(libJar, libM3); logger.info("Lib1 store: " + bLib1); if (!bLib1) { logger.error("error computing {} m3 model", lib.getCoordinate()); throw new Exception(); } } return libM3; }
Example #17
Source Project: openjdk-8-source Author: keerath File: PathFileObject.java License: GNU General Public License v2.0 | 6 votes |
@Override public boolean isNameCompatible(String simpleName, Kind kind) { simpleName.getClass(); // null check if (kind == Kind.OTHER && getKind() != kind) { return false; } String sn = simpleName + kind.extension; String pn = path.getFileName().toString(); if (pn.equals(sn)) { return true; } if (pn.equalsIgnoreCase(sn)) { try { // allow for Windows return path.toRealPath(LinkOption.NOFOLLOW_LINKS).getFileName().toString().equals(sn); } catch (IOException e) { } } return false; }
Example #18
Source Project: p4ic4idea Author: groboclown File: SymbolicLinkHelper.java License: Apache License 2.0 | 6 votes |
/** * Gets the last modified time for a symbolic link. * * Note: symbolic links are not followed (NOFOLLOW_LINKS LinkOption) * * @param link the path to the symbolic link * @return last modified time of the symbolic link */ public static long getLastModifiedTime(String link) { if (nonNull(link)) { try { Path linkPath = Paths.get(link); if (nonNull(linkPath)) { FileTime fileTimeObject = Files.getLastModifiedTime(linkPath, LinkOption.NOFOLLOW_LINKS); if (nonNull(fileTimeObject)) { return fileTimeObject.toMillis(); } } // p4ic4idea: Do not catch throwable unless you're really careful //} catch (Throwable thr) { } catch (Exception thr) { Log.error("Unexpected exception invoking method: %s", thr.getLocalizedMessage()); Log.exception(thr); } } return 0L; }
Example #19
Source Project: SonarPet Author: TechzoneMC File: RecursiveDeleteOnExitHook.java License: GNU General Public License v3.0 | 6 votes |
@Override public void run() { // NOTE: Iterate backwards so last added is first deleted // For some reason this is important (see JDK DeleteOnExitHook( for (int i = toDelete.size() - 1; i >= 0; i--) { Path target = toDelete.get(i); try { if (Files.isDirectory(target, LinkOption.NOFOLLOW_LINKS)) { Files.walkFileTree(target, new RecursiveDirectoryDeleter()); } else { Files.deleteIfExists(target); } } catch (IOException e) { //noinspection UseOfSystemOutOrSystemErr - VM is shutting down System.err.println("Unable to delete " + toDelete + ": " + e); } } }
Example #20
Source Project: mycore Author: MyCoRe-Org File: MCRDirectoryStream.java License: GNU General Public License v3.0 | 5 votes |
@Override public SecureDirectoryStream<Path> newDirectoryStream(Path path, LinkOption... options) throws IOException { checkClosed(); MCRPath mcrPath = checkFileSystem(path); if (mcrPath.isAbsolute()) { return (SecureDirectoryStream<Path>) Files.newDirectoryStream(mcrPath); } MCRFilesystemNode childByPath = dir.getChildByPath(mcrPath.toString()); if (childByPath == null || childByPath instanceof MCRFile) { throw new NoSuchFileException(dir.toString(), path.toString(), "Does not exist or is a file."); } return new MCRDirectoryStream((MCRDirectory) childByPath, MCRPath.toMCRPath(path.resolve(mcrPath))); }
Example #21
Source Project: openjdk-8 Author: bpupadhyaya File: FaultyFileSystem.java License: GNU General Public License v2.0 | 5 votes |
@Override public void setAttribute(Path file, String attribute, Object value, LinkOption... options) throws IOException { triggerEx(file, "setAttribute"); Files.setAttribute(unwrap(file), attribute, value, options); }
Example #22
Source Project: SubServers-2 Author: ME1312 File: SubCreatorImpl.java License: Apache License 2.0 | 5 votes |
private void updateDirectory(File from, File to) { if (from.isDirectory() && !Files.isSymbolicLink(from.toPath())) { if (!to.exists()) { to.mkdirs(); } String files[] = from.list(); for (String file : files) { File srcFile = new File(from, file); File destFile = new File(to, file); updateDirectory(srcFile, destFile); } } else { try { if (!to.exists() || from.length() != to.length() || !Arrays.equals(generateSHA256(to), generateSHA256(from))) { if (to.exists()) { if (to.isDirectory()) Util.deleteDirectory(to); else to.delete(); } Files.copy(from.toPath(), to.toPath(), LinkOption.NOFOLLOW_LINKS, StandardCopyOption.REPLACE_EXISTING); } } catch (Exception e) { e.printStackTrace(); } } }
Example #23
Source Project: Bytecoder Author: mirkosertic File: JrtFileSystem.java License: Apache License 2.0 | 5 votes |
JrtFileAttributes getFileAttributes(JrtPath path, LinkOption... options) throws IOException { Node node = checkNode(path); if (node.isLink() && followLinks(options)) { return new JrtFileAttributes(node.resolveLink(true)); } return new JrtFileAttributes(node); }
Example #24
Source Project: jdk8u-jdk Author: frohoff File: FaultyFileSystem.java License: GNU General Public License v2.0 | 5 votes |
@Override public <V extends FileAttributeView> V getFileAttributeView(Path file, Class<V> type, LinkOption... options) { return Files.getFileAttributeView(unwrap(file), type, options); }
Example #25
Source Project: zip4j Author: srikanth-lingala File: FileUtils.java License: Apache License 2.0 | 5 votes |
private static String getNameOfFileInZip(File fileToAdd, String fileNameInZip) throws IOException { if (isStringNotNullAndNotEmpty(fileNameInZip)) { return fileNameInZip; } if (isSymbolicLink(fileToAdd)) { return fileToAdd.toPath().toRealPath(LinkOption.NOFOLLOW_LINKS).getFileName().toString(); } return fileToAdd.getName(); }
Example #26
Source Project: jdk8u-jdk Author: lambdalab-mirror File: FaultyFileSystem.java License: GNU General Public License v2.0 | 5 votes |
@Override public Map<String,Object> readAttributes(Path file, String attributes, LinkOption... options) throws IOException { triggerEx(file, "readAttributes"); return Files.readAttributes(unwrap(file), attributes, options); }
Example #27
Source Project: sftp-fs Author: robtimus File: SFTPFileSystemProvider.java License: Apache License 2.0 | 5 votes |
/** * Reads a file's attributes as a bulk operation. * This method works in exactly the manner specified by the {@link Files#readAttributes(Path, Class, LinkOption...)} method. * <p> * This provider supports {@link BasicFileAttributes} and {@link PosixFileAttributes} (there is no {@code FileOwnerFileAttributes}). * All other classes will result in an {@link UnsupportedOperationException} to be thrown. */ @Override public <A extends BasicFileAttributes> A readAttributes(Path path, Class<A> type, LinkOption... options) throws IOException { if (type == BasicFileAttributes.class || type == PosixFileAttributes.class) { return type.cast(toSFTPPath(path).readAttributes(options)); } throw Messages.fileSystemProvider().unsupportedFileAttributesType(type); }
Example #28
Source Project: sftp-fs Author: robtimus File: SFTPFileSystem.java License: Apache License 2.0 | 5 votes |
PosixFileAttributes readAttributes(SFTPPath path, LinkOption... options) throws IOException { boolean followLinks = LinkOptionSupport.followLinks(options); try (Channel channel = channelPool.get()) { SftpATTRS attributes = getAttributes(channel, path, followLinks); return new SFTPPathFileAttributes(attributes); } }
Example #29
Source Project: incubator-taverna-language Author: apache File: BundleFileSystemProvider.java License: Apache License 2.0 | 5 votes |
@Override public <A extends BasicFileAttributes> A readAttributes(Path path, Class<A> type, LinkOption... options) throws IOException { BundleFileSystem fs = (BundleFileSystem) path.getFileSystem(); return origProvider(path) .readAttributes(fs.unwrap(path), type, options); }
Example #30
Source Project: TencentKona-8 Author: Tencent File: FaultyFileSystem.java License: GNU General Public License v2.0 | 5 votes |
@Override public void setAttribute(Path file, String attribute, Object value, LinkOption... options) throws IOException { triggerEx(file, "setAttribute"); Files.setAttribute(unwrap(file), attribute, value, options); }