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).
  • Field Details

  • Constructor Details

    • FilePathSplit

      public FilePathSplit()
  • Method Details

    • getPrefix

      protected String getPrefix()
      Overrides:
      getPrefix in class FilePathWrapper
    • unwrap

      public FilePath unwrap(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 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 InputStream newInputStream() throws 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:
      IOException - If an I/O error occurs
    • open

      public FileChannel open(String mode) throws 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:
      IOException - If an I/O error occurs
    • getDefaultMaxLength

      private long getDefaultMaxLength()
    • closeAndThrow

      private void closeAndThrow(int id, FileChannel[] array, FileChannel o, long maxLength) throws IOException
      Throws:
      IOException
    • newOutputStream

      public OutputStream newOutputStream(boolean append) throws 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:
      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 String[] parse(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 String getName(int id)
    • getScheme

      public 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