src/solaris/classes/sun/nio/fs/LinuxFileSystemProvider.java

Print this page

        

@@ -27,10 +27,12 @@
 
 import java.nio.file.*;
 import java.nio.file.attribute.*;
 import java.nio.file.spi.FileTypeDetector;
 import java.io.IOException;
+import java.security.AccessController;
+import sun.security.action.GetPropertyAction;
 
 /**
  * Linux implementation of FileSystemProvider
  */
 

@@ -98,8 +100,16 @@
         }
     }
 
     @Override
     FileTypeDetector getFileTypeDetector() {
-        return new GnomeFileTypeDetector();
+        final Path userMimeTypes = Paths.get(AccessController.doPrivileged(
+                new GetPropertyAction("user.home")), ".mime.types");
+
+        final Path sysMimeTypes = Paths.get("/etc/mime.types");
+
+        return chain(new GnomeFileTypeDetector(),
+                new MimeTypesFileTypeDetector(userMimeTypes),
+                new MimeTypesFileTypeDetector(sysMimeTypes),
+                new MagicFileTypeDetector());
     }
 }