Summary
Change specification of java.io.PrintWriter
to refer to System.lineSeparator()
instead of to the system property line.separator
.
Problem
PrintWriter.println()
refers to the system property line.separator
instead of to System.lineSeparator()
which is actually used internally. Conceivably the value of the property could change but the value returned by lineSeparator()
will not.
Solution
Change the specification of PrintWriter.println()
to:
Terminates the current line by writing the line separator string. The line separator is System.lineSeparator() and is not necessarily a single newline character ('\n').
Specification
--- a/src/java.base/share/classes/java/io/PrintWriter.java
+++ b/src/java.base/share/classes/java/io/PrintWriter.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -704,9 +704,8 @@
/**
* Terminates the current line by writing the line separator string. The
- * line separator string is defined by the system property
- * {@code line.separator} and is not necessarily a single newline
- * character ({@code '\n'}).
+ * line separator is {@link System#lineSeparator()} and is not necessarily
+ * a single newline character ({@code '\n'}).
*/
public void println() {
newLine();
- csr of
-
JDK-8219992 Correct the documentation of PrintWriter to refer to System.lineSeparator
-
- Closed
-