Class TempFileStorageProvider

  • All Implemented Interfaces:
    StorageProvider

    public class TempFileStorageProvider
    extends AbstractStorageProvider
    A StorageProvider that stores the data in temporary files. The files are stored either in a user-specified directory or the default temporary-file directory (specified by system property java.io.tmpdir).

    Example usage:

     File directory = new File("/tmp/mime4j");
     StorageProvider provider = new TempFileStorageProvider(directory);
     DefaultStorageProvider.setInstance(provider);
     
    • Field Detail

      • prefix

        private final java.lang.String prefix
      • suffix

        private final java.lang.String suffix
      • directory

        private final java.io.File directory
    • Constructor Detail

      • TempFileStorageProvider

        public TempFileStorageProvider()
        Equivalent to using constructor TempFileStorageProvider("m4j", null, null).
      • TempFileStorageProvider

        public TempFileStorageProvider​(java.io.File directory)
        Equivalent to using constructor TempFileStorageProvider("m4j", null, directory).
      • TempFileStorageProvider

        public TempFileStorageProvider​(java.lang.String prefix,
                                       java.lang.String suffix,
                                       java.io.File directory)
        Creates a new TempFileStorageProvider using the given values.
        Parameters:
        prefix - prefix for generating the temporary file's name; must be at least three characters long.
        suffix - suffix for generating the temporary file's name; may be null to use the suffix ".tmp".
        directory - the directory in which the file is to be created, or null if the default temporary-file directory is to be used (specified by the system property java.io.tmpdir).
        Throws:
        java.lang.IllegalArgumentException - if the given prefix is less than three characters long or the given directory does not exist and cannot be created (if it is not null).
    • Method Detail

      • createStorageOutputStream

        public StorageOutputStream createStorageOutputStream()
                                                      throws java.io.IOException
        Description copied from interface: StorageProvider
        Creates a StorageOutputStream where data to be stored can be written to. Subsequently the user can call toStorage() on that object to get a Storage instance that holds the data that has been written.
        Returns:
        a StorageOutputStream where data can be written to.
        Throws:
        java.io.IOException - if an I/O error occurs.