Enum Class FileMagic

java.lang.Object
java.lang.Enum<FileMagic>
org.apache.poi.poifs.filesystem.FileMagic
All Implemented Interfaces:
Serializable, Comparable<FileMagic>, Constable

public enum FileMagic extends Enum<FileMagic>
The file magic number, i.e. the file identification based on the first bytes of the file
  • Enum Constant Details

    • OLE2

      public static final FileMagic OLE2
      OLE2 / BIFF8+ stream used for Office 97 and higher documents
    • OOXML

      public static final FileMagic OOXML
      OOXML / ZIP stream
    • XML

      public static final FileMagic XML
      XML file
    • BIFF2

      public static final FileMagic BIFF2
      BIFF2 raw stream - for Excel 2
    • BIFF3

      public static final FileMagic BIFF3
      BIFF3 raw stream - for Excel 3
    • BIFF4

      public static final FileMagic BIFF4
      BIFF4 raw stream - for Excel 4
    • MSWRITE

      public static final FileMagic MSWRITE
      Old MS Write raw stream
    • RTF

      public static final FileMagic RTF
      RTF document
    • PDF

      public static final FileMagic PDF
      PDF document
    • HTML

      public static final FileMagic HTML
      Some different HTML documents
    • WORD2

      public static final FileMagic WORD2
    • UNKNOWN

      public static final FileMagic UNKNOWN
      UNKNOWN magic
  • Method Details

    • values

      public static FileMagic[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static FileMagic valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • valueOf

      public static FileMagic valueOf(byte[] magic)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      magic - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • valueOf

      public static FileMagic valueOf(File inp) throws IOException
      Get the file magic of the supplied File

      Even if this method returns UNKNOWN it could potentially mean, that the ZIP stream has leading junk bytes

      Parameters:
      inp - a file to be identified
      Throws:
      IOException
    • valueOf

      public static FileMagic valueOf(InputStream inp) throws IOException
      Get the file magic of the supplied InputStream (which MUST support mark and reset).

      If unsure if your InputStream does support mark / reset, use prepareToCheckMagic(InputStream) to wrap it and make sure to always use that, and not the original!

      Even if this method returns UNKNOWN it could potentially mean, that the ZIP stream has leading junk bytes

      Parameters:
      inp - An InputStream which supports either mark/reset
      Throws:
      IOException
    • prepareToCheckMagic

      public static InputStream prepareToCheckMagic(InputStream stream)
      Checks if an InputStream can be reset (i.e. used for checking the header magic) and wraps it if not
      Parameters:
      stream - stream to be checked for wrapping
      Returns:
      a mark enabled stream