Enum FileMagic

    • Enum Constant Detail

      • 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 - The first 4 bytes of an OOXML file, used in detection
      • XML

        public static final FileMagic XML
        XML file - The first 5 bytes of a raw XML file, used in detection
      • 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
      • JPEG

        public static final FileMagic JPEG
        JPEG image
      • GIF

        public static final FileMagic GIF
        GIF image
      • PNG

        public static final FileMagic PNG
        PNG Image
      • TIFF

        public static final FileMagic TIFF
        TIFF Image
      • WMF

        public static final FileMagic WMF
        WMF image with a placeable header
      • EMF

        public static final FileMagic EMF
        EMF image
      • BMP

        public static final FileMagic BMP
        BMP image
      • UNKNOWN

        public static final FileMagic UNKNOWN
        UNKNOWN magic
    • Method Detail

      • values

        public static FileMagic[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (FileMagic c : FileMagic.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static FileMagic valueOf​(String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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 type 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 type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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 type 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