FileTypeMap (Java SE 9 & JDK 9 )
Keywords: javax.activation.FileTypeMap class

Module java.activation
Package javax.activation

## Class FileTypeMap

- java.lang.Object
- - javax.activation.FileTypeMap

- Direct Known Subclasses:
    `MimetypesFileTypeMap`

      public abstract class FileTypeMap
      extends Object

  The FileTypeMap is an abstract class that provides a data typing interface for files. Implementations of this class will implement the getContentType methods which will derive a content type from a file name or a File object. FileTypeMaps could use any scheme to determine the data type, from examining the file extension of a file (like the MimetypesFileTypeMap) to opening the file and trying to derive its type from the contents of the file. The FileDataSource class uses the default FileTypeMap (a MimetypesFileTypeMap unless changed) to determine the content type of files.
  Since:
    1.6
  See Also:
    `FileTypeMap`, `FileDataSource`, `MimetypesFileTypeMap`

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FileTypeMap​()` | The default constructor.

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract String` | `getContentType​(File file)` | Return the type of the file object.
    `abstract String` | `getContentType​(String filename)` | Return the type of the file passed in.
    `static FileTypeMap` | `getDefaultFileTypeMap​()` | Return the default FileTypeMap for the system.
    `static void` | `setDefaultFileTypeMap​(FileTypeMap fileTypeMap)` | Sets the default FileTypeMap for the system.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### FileTypeMap

          public FileTypeMap​()

      The default constructor.

  - ### Method Detail

    - #### getContentType

          public abstract String getContentType​(File file)

      Return the type of the file object. This method should always return a valid MIME type.
      Parameters:
        `file` - A file to be typed.
      Returns:
        The content type.

    - #### getContentType

          public abstract String getContentType​(String filename)

      Return the type of the file passed in. This method should always return a valid MIME type.
      Parameters:
        `filename` - the pathname of the file.
      Returns:
        The content type.

    - #### setDefaultFileTypeMap

          public static void setDefaultFileTypeMap​(FileTypeMap fileTypeMap)

      Sets the default FileTypeMap for the system. This instance will be returned to callers of getDefaultFileTypeMap.
      Parameters:
        `fileTypeMap` - The FileTypeMap.
      Throws:
        `SecurityException` - if the caller doesn't have permission to change the default

    - #### getDefaultFileTypeMap

          public static FileTypeMap getDefaultFileTypeMap​()

      Return the default FileTypeMap for the system. If setDefaultFileTypeMap was called, return that instance, otherwise return an instance of `MimetypesFileTypeMap`.
      Returns:
        The default FileTypeMap
      See Also:
        `setDefaultFileTypeMap(javax.activation.FileTypeMap)`