The \p{Punct}default regular expression matches only US-ASCII punctuation by default if you do not activate Unicode character classes. This means that your code, as written, will only remove these characters:
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
Unicode, , \p{IsPunctuation}, Unicode ( !).
, , , :
line = line.replaceAll("\\p{IsPunctuation}|\\p{IsWhite_Space}", "");