Here you can find the source of isSymbolicLink(File file)
@Deprecated public static boolean isSymbolicLink(File file)
//package com.java2s; /*//from www .j a v a 2s.co m * Copyright 2010 Proofpoint, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.io.File; import java.io.IOException; public class Main { /** * @deprecated Use {@link java.nio.file.Files#isSymbolicLink(Path)} */ @Deprecated public static boolean isSymbolicLink(File file) { try { File canonicalFile = file.getCanonicalFile(); File absoluteFile = file.getAbsoluteFile(); // a symbolic link has a different name between the canonical and absolute path return !canonicalFile.getName().equals(absoluteFile.getName()) || // or the canonical parent path is not the same as the files parent path !canonicalFile.getParent().equals(absoluteFile.getParentFile().getCanonicalPath()); } catch (IOException e) { // error on the side of caution return true; } } }