I'd prefer to use a DateFormat to check if the date is valid, rather than manually checking bounds. Using a DateFormat and its parse(String, ParsePosition) method you can even prevent any ParseExceptions:
That parse method returns null if the input is invalid. The other check also makes sure that the parsing consumes the entire input; parse methods usually allow trailing data; for instance, with "Test_INT.NO1. 28 06 10 12 25 56.txtabc" as input, the parse position's index will point at the a, allowing you to parse some more. Since we don't want to parse more or allow this trailing data the check ensures that the format will consume the entire text.