FileDataSource (Java Platform SE 8 )
Keywords: javax.activation.FileDataSource class
Date: 2026-07-22

javax.activation

## Class FileDataSource

- java.lang.Object
- - javax.activation.FileDataSource

- All Implemented Interfaces:
    DataSource

      public class FileDataSource
      extends Object
      implements DataSource

  The FileDataSource class implements a simple DataSource object that encapsulates a file. It provides data typing services via a FileTypeMap object.

  FileDataSource Typing Semantics

  The FileDataSource class delegates data typing of files to an object subclassed from the FileTypeMap class. The `setFileTypeMap` method can be used to explicitly set the FileTypeMap for an instance of FileDataSource. If no FileTypeMap is set, the FileDataSource will call the FileTypeMap's getDefaultFileTypeMap method to get the System's default FileTypeMap.

  Since:
    1.6
  See Also:
    `DataSource`, `FileTypeMap`, `MimetypesFileTypeMap`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `FileDataSource(File file)` Creates a FileDataSource from a File object.
    `FileDataSource(String name)` Creates a FileDataSource from the specified path name.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getContentType()` This method returns the MIME type of the data in the form of a string.
    `File` | `getFile()` Return the File object that corresponds to this FileDataSource.
    `InputStream` | `getInputStream()` This method will return an InputStream representing the the data and will throw an IOException if it can not do so.
    `String` | `getName()` Return the name of this object.
    `OutputStream` | `getOutputStream()` This method will return an OutputStream representing the the data and will throw an IOException if it can not do so.
    `void` | `setFileTypeMap(FileTypeMap map)` Set the FileTypeMap to use with this FileDataSource

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

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

- - ### Constructor Detail

    - #### FileDataSource

          public FileDataSource(File file)

      Creates a FileDataSource from a File object. Note: The file will not actually be opened until a method is called that requires the file to be opened.
      Parameters:
        `file` - the file

    - #### FileDataSource

          public FileDataSource(String name)

      Creates a FileDataSource from the specified path name. Note: The file will not actually be opened until a method is called that requires the file to be opened.
      Parameters:
        `name` - the system-dependent file name.

  - ### Method Detail

    - #### getInputStream

          public InputStream getInputStream()
                                     throws IOException

      This method will return an InputStream representing the the data and will throw an IOException if it can not do so. This method will return a new instance of InputStream with each invocation.
      Specified by:
        `getInputStream` in interface `DataSource`
      Returns:
        an InputStream
      Throws:
        `IOException`

    - #### getOutputStream

          public OutputStream getOutputStream()
                                       throws IOException

      This method will return an OutputStream representing the the data and will throw an IOException if it can not do so. This method will return a new instance of OutputStream with each invocation.
      Specified by:
        `getOutputStream` in interface `DataSource`
      Returns:
        an OutputStream
      Throws:
        `IOException`

    - #### getContentType

          public String getContentType()

      This method returns the MIME type of the data in the form of a string. This method uses the currently installed FileTypeMap. If there is no FileTypeMap explictly set, the FileDataSource will call the `getDefaultFileTypeMap` method on FileTypeMap to acquire a default FileTypeMap. Note: By default, the FileTypeMap used will be a MimetypesFileTypeMap.
      Specified by:
        `getContentType` in interface `DataSource`
      Returns:
        the MIME Type
      See Also:
        `FileTypeMap.getDefaultFileTypeMap()`

    - #### getName

          public String getName()

      Return the name of this object. The FileDataSource will return the file name of the object.
      Specified by:
        `getName` in interface `DataSource`
      Returns:
        the name of the object.
      See Also:
        `DataSource`

    - #### getFile

          public File getFile()

      Return the File object that corresponds to this FileDataSource.
      Returns:
        the File object for the file represented by this object.

    - #### setFileTypeMap

          public void setFileTypeMap(FileTypeMap map)

      Set the FileTypeMap to use with this FileDataSource
      Parameters:
        `map` - The FileTypeMap for this object.

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, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.