Anagrams for a given input 2.0
Four issues with private static boolean checkMatch(String word, String candidate):


checkMatch is not as descriptive as a name could be.  I think private static boolean isAnagram(String a, String b) would be better.  I would also rename the parameters to acknowledge that they are symmetrical: it doesn't matter which is the original word, and which is the candidate.
You don't need to end with an if-else.  You can just say return Arrays.equals(wordArray, candidateArray);
You would be re-sorting the characters of the original word each time you test a candidate.  That's OK, I suppose, if you prefer clean code over efficiency.
Why not start with

private static boolean isAnagram(String a, String b) {
    if (a.length() != b.length()) {
        return false;
    }

    // Continue with a thorough comparison...
    ...
}


Then the code in readAnagramsFromFile() can read very smoothly:

if (isAnagram(word, candidate)) {
    anagrams.add(candidate);
}



Note that the return type of readAnagramsFromFile() should be List&lt;String&gt;, not just a generic List.