JDK-4139481 : java.io.PrintStream: Un-deprecate the constructors
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.io
  • Affected Version: 1.1.6,1.2.0
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: generic,windows_nt
  • CPU: generic,x86
  • Submitted: 1998-05-18
  • Updated: 1999-01-15
  • Resolved: 1999-01-15
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
1.2.0 1.2beta4Fixed
Related Reports
Relates :  
Relates :  
Description
As part of the internationalization effort in JDK 1.1, we deprecated many
classes and methods that do not properly convert bytes to characters and vice
versa.  We also deprecated a few other things in order to encourage developers
to use the new "i18n-correct" facilities.  In particular, we deprecated the
public constructors of the java.io.PrintStream class, though not the class
itself.  This class does implement a proper character-to-byte conversion using
the platform's default encoding; it was deprecated merely to encourage the use
of the new java.io.PrintWriter class.

Experience has shown that this was not the best decision.  Many developers have
observed that the prominent public fields in java.lang.System for the standard
output and error streams contain PrintStreams, not PrintWriters.  The setErr
and setOut methods of java.lang.System take PrintStreams rather than
PrintWriters, thereby forcing any developer who wants to use these methods to
use deprecated constructors (4035546, 12 customer calls).  We have considered
adding setErr and setOut methods that take PrintWriters, but it is technically
difficult, and perhaps impossible, to do this while maintaining compatibility
with the current specification.

Given the high visibility of this situation, and the fact that the original
justification for deprecating the PrintStream constructors is, in hindsight,
rather weak, it seems that the best course of action is to un-deprecate the
constructors.

-- mr@eng 5/18/1998

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: generic FIXED IN: 1.2beta4 INTEGRATED IN: 1.2beta4
14-06-2004

EVALUATION Done. -- mr@eng 5/19/1998
19-05-1998