Adding constant for line.separator and friends

Martin Buchholz martinrb at google.com
Tue Nov 10 07:07:05 UTC 2009


On Mon, Nov 9, 2009 at 21:54, Mark Reinhold <mr at sun.com> wrote:

> > Date: Mon, 09 Nov 2009 20:29:51 -0800
> > From: Martin Buchholz <martinrb at google.com>
>
> > ...
> >
> > Since line.separator is the most popular system property,
> > and other system properties like
> > java.home have vague security implications
> > that would suggest they must be protected by
> > a security manager, we might consider just
> > making the one system property available.
> > Perhaps very simply
> >
> > String System.lineSeparator()?
>
> This seems like a much better solution than adding a whole static inner
> class to java.lang.System.
>
> Yet ... how much of a problem is this outside of the JDK itself and,
> more generally, for new code rather than old?
>
> If there are n (for n <= 43) problematic uses in the JDK then we could
> just fix those without defining any new public API.  For new code we
> should encourage people to use String.format("...%n...") rather than
> access the line.separator property explicitly.
>

Hacking on Formatter is how I got here.

String.format("%n")" is both at risk of throwing SecurityException
(because Formatter does not use doPrivileged;
my proposal here is a step to fixing that)
and is rather slow.
Too slow for performance-sensitive uses.

Martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/core-libs-dev/attachments/20091109/52a5c738/attachment.html>


More information about the core-libs-dev mailing list