Java DataFormatMatcher-class And Method Code Example


Here is an example of how to use the DataFormatMatcher class from the Apache Commons IO library:

import org.apache.commons.io.input.DataFormatMatcher;
import org.apache.commons.io.input.TikaInputStream;

import java.io.File;
import java.io.IOException;

public class Example {
    public static void main(String[] args) throws IOException {
        // Create a File object
        File file = new File("/path/to/file");

        // Create a DataFormatMatcher
        DataFormatMatcher matcher = new DataFormatMatcher(file, new TikaInputStream.TikaInputStreamDetector());

        // Check if the file matches the specified format
        if (matcher.isMatch()) {
            // Get the matched format
            String format = matcher.getMatchedFormatName();
            System.out.println("Matched format: " + format);
        } else {
            System.out.println("No match found");
        }
    }
}

In this example, the DataFormatMatcher class is being used to match the data format of a file. The file is specified using a File object, and the TikaInputStream is used to match the format of the file. The isMatch() method is used to check if the file matches the specified format, if it matches the matched format is retrieved using the getMatchedFormatName() method. If it doesn't match "No match found" is printed.

Like the DataFormatDetector class you can use this class with your custom detector by implementing the Detector interface.

It's also worth noting that the DataFormatMatcher is a subclass of DataFormatDetector so it has all the functionalities of the DataFormatDetector but with a match method that returns a boolean.