javax.activation

## Class MimetypesFileTypeMap

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

-     public class MimetypesFileTypeMap
      extends FileTypeMap

  This class extends FileTypeMap and provides data typing of files via their file extension. It uses the `.mime.types` format.

  MIME types file search order:

  The MimetypesFileTypeMap looks in various places in the user's system for MIME types file entries. When requests are made to search for MIME types in the MimetypesFileTypeMap, it searches MIME types files in the following order:

  1. Programmatically added entries to the MimetypesFileTypeMap instance.
  2. The file `.mime.types` in the user's home directory.
  3. The file <java.home>`/lib/mime.types`.
  4. The file or resources named `META-INF/mime.types`.
  5. The file or resource named `META-INF/mimetypes.default` (usually found only in the `activation.jar` file).

  MIME types file format:

  `# comments begin with a '#'
  # the format is <mime type> <space separated file extensions>
  # for example:
  text/plain txt text TXT
  # this would map file.txt, file.text, and file.TXT to
  # the mime type "text/plain"
  `

  Since:
    1.6

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `MimetypesFileTypeMap()` The default constructor.
    `MimetypesFileTypeMap(InputStream is)` Construct a MimetypesFileTypeMap with programmatic entries added from the InputStream.
    `MimetypesFileTypeMap(String mimeTypeFileName)` Construct a MimetypesFileTypeMap with programmatic entries added from the named file.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addMimeTypes(String mime_types)` Prepend the MIME type values to the registry.
    `String` | `getContentType(File f)` Return the MIME type of the file object.
    `String` | `getContentType(String filename)` Return the MIME type based on the specified file name.

    - ### Methods inherited from class javax.activation.FileTypeMap

      `getDefaultFileTypeMap, setDefaultFileTypeMap`

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

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

- - ### Constructor Detail

    - #### MimetypesFileTypeMap

          public MimetypesFileTypeMap()

      The default constructor.

    - #### MimetypesFileTypeMap

          public MimetypesFileTypeMap(String mimeTypeFileName)
                               throws IOException

      Construct a MimetypesFileTypeMap with programmatic entries added from the named file.
      Parameters:
        `mimeTypeFileName` - the file name
      Throws:
        `IOException`

    - #### MimetypesFileTypeMap

          public MimetypesFileTypeMap(InputStream is)

      Construct a MimetypesFileTypeMap with programmatic entries added from the InputStream.
      Parameters:
        `is` - the input stream to read from

  - ### Method Detail

    - #### addMimeTypes

          public void addMimeTypes(String mime_types)

      Prepend the MIME type values to the registry.
      Parameters:
        `mime_types` - A .mime.types formatted string of entries.

    - #### getContentType

          public String getContentType(File f)

      Return the MIME type of the file object. The implementation in this class calls `getContentType(f.getName())`.
      Specified by:
        `getContentType` in class `FileTypeMap`
      Parameters:
        `f` - the file
      Returns:
        the file's MIME type

    - #### getContentType

          public String getContentType(String filename)

      Return the MIME type based on the specified file name. The MIME type entries are searched as described above under MIME types file search order. If no entry is found, the type "application/octet-stream" is returned.
      Specified by:
        `getContentType` in class `FileTypeMap`
      Parameters:
        `filename` - the file name
      Returns:
        the file's MIME type

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.