A number is recorded as a number, whose value is independent of leading 0s. (That doesn't apply to literals however.) If you need to record the 000 at the beginning, it is easiest to maintain it as a String. I don't think BigInteger will help you.
Why do you need to retail all the preceding zeros? I will say go for some other way to retain the leading zeros. Once you convert it into number then preceding zeros have no worth and hence they are removed.