Since the FilterStream documentation, its FilterStream superclass FilterStream and its OutputStream superclass cannot say anything about thread safety or synchronization, theoretically you cannot rely on it, this is not part of the contract.
I think it would be surprising if someone created a PrintStream class that did not do what Oracle is doing in this regard, but I was surprised earlier.
source share