No official name but generally referred to as “fixed-width” or “padded text”. As I recollect this format is most commonly seen with systems related to old mainframes. Reports printed to terminal screen or green-bar paper were commonly produced in this style.

Each field is defined as a certain number of characters. Using a monospaced font means the columns of data visually align. When the data value for a field has a fewer number of characters, some “padding” characters are added to value. Add the padding characters to the front for a right-aligned column, and to the end for a left-aligned column. Your example spec is defining the padding characters as a zero, space, or X
as well as that left-right alignment.
I've never seen a Java library for reading or writing such padded text. But that might be a good idea. Having a formally-defined machine-readable spec for any particular file’s format is an intriguing idea. Most folks make their own little library as it is not difficult.
In the PC era, delimiter formats are more common. Generally Tab-delimited or Comma-Separated-Values (CSV). More sensible to my mind would be the use of the four characters explicitly defined in ASCII and Unicode for the very purpose of delimiting data in text files, code points 28 to 31, but inexplicably I've never seen them used.
The chores of reading and writing both Tab and CSV formats are performed handily by the Apache Commons CSV library.
And in the internet-age, we commonly write data to XML or JSON formats.