Class FilePathSplit


  • public class FilePathSplit
    extends FilePathWrapper
    A file system that may split files into multiple smaller files. (required for a FAT32 because it only support files up to 2 GB).
    • Constructor Detail

      • FilePathSplit

        public FilePathSplit()
    • Method Detail

      • unwrap

        public FilePath unwrap​(java.lang.String fileName)
        Description copied from class: FilePathWrapper
        Get the base path for the given wrapped path.
        Overrides:
        unwrap in class FilePathWrapper
        Parameters:
        fileName - the path including the scheme prefix
        Returns:
        the base file path
      • setReadOnly

        public boolean setReadOnly()
        Description copied from class: FilePath
        Disable the ability to write.
        Overrides:
        setReadOnly in class FilePathWrapper
        Returns:
        true if the call was successful
      • delete

        public void delete()
        Description copied from class: FilePath
        Delete a file or directory if it exists. Directories may only be deleted if they are empty.
        Overrides:
        delete in class FilePathWrapper
      • lastModified

        public long lastModified()
        Description copied from class: FilePath
        Get the last modified date of a file
        Overrides:
        lastModified in class FilePathWrapper
        Returns:
        the last modified date
      • size

        public long size()
        Description copied from class: FilePath
        Get the size of a file in bytes
        Overrides:
        size in class FilePathWrapper
        Returns:
        the size in bytes
      • newDirectoryStream

        public java.util.ArrayList<FilePath> newDirectoryStream()
        Description copied from class: FilePath
        List the files and directories in the given directory.
        Overrides:
        newDirectoryStream in class FilePathWrapper
        Returns:
        the list of fully qualified file names
      • newInputStream

        public java.io.InputStream newInputStream()
                                           throws java.io.IOException
        Description copied from class: FilePath
        Create an input stream to read from the file.
        Overrides:
        newInputStream in class FilePathWrapper
        Returns:
        the input stream
        Throws:
        java.io.IOException - If an I/O error occurs
      • open

        public java.nio.channels.FileChannel open​(java.lang.String mode)
                                           throws java.io.IOException
        Description copied from class: FilePath
        Open a random access file object.
        Overrides:
        open in class FilePathWrapper
        Parameters:
        mode - the access mode. Supported are r, rw, rws, rwd
        Returns:
        the file object
        Throws:
        java.io.IOException - If an I/O error occurs
      • getDefaultMaxLength

        private long getDefaultMaxLength()
      • closeAndThrow

        private void closeAndThrow​(int id,
                                   java.nio.channels.FileChannel[] array,
                                   java.nio.channels.FileChannel o,
                                   long maxLength)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • newOutputStream

        public java.io.OutputStream newOutputStream​(boolean append)
                                             throws java.io.IOException
        Description copied from class: FilePath
        Create an output stream to write into the file.
        Overrides:
        newOutputStream in class FilePathWrapper
        Parameters:
        append - if true, the file will grow, if false, the file will be truncated first
        Returns:
        the output stream
        Throws:
        java.io.IOException - If an I/O error occurs
      • moveTo

        public void moveTo​(FilePath path,
                           boolean atomicReplace)
        Description copied from class: FilePath
        Rename a file if this is allowed.
        Overrides:
        moveTo in class FilePathWrapper
        Parameters:
        path - the new fully qualified file name
        atomicReplace - whether the move should be atomic, and the target file should be replaced if it exists and replacing is possible
      • parse

        private java.lang.String[] parse​(java.lang.String fileName)
        Split the file name into size and base file name.
        Parameters:
        fileName - the file name
        Returns:
        an array with size and file name
      • getBase

        FilePath getBase​(int id)
        Get the file name of a part file.
        Parameters:
        id - the part id
        Returns:
        the file name including the part id
      • getName

        private java.lang.String getName​(int id)
      • getScheme

        public java.lang.String getScheme()
        Description copied from class: FilePath
        Get the scheme (prefix) for this file provider. This is similar to java.nio.file.spi.FileSystemProvider.getScheme.
        Specified by:
        getScheme in class FilePath
        Returns:
        the scheme