< prev index next >

src/java.base/share/classes/java/util/Properties.java

Print this page
rev 16769 : 8176041: Optimize handling of comment lines in Properties$LineReader.readLine
Reviewed-by: TBD

@@ -492,12 +492,25 @@
                     appendedLineBegin = false;
                 }
                 if (isNewLine) {
                     isNewLine = false;
                     if (c == '#' || c == '!') {
+                        // Comment, quickly consume the rest of the line,
+                        // resume on line-break and backslash.
+                        while (inOff < inLimit) {
+                            if (inStream != null) {
+                                //The line below is equivalent to calling a
+                                //ISO8859-1 decoder.
+                                c = (char) (0xff & inByteBuf[inOff++]);
+                            } else {
+                                c = inCharBuf[inOff++];
+                            }
+                            if (c == '\n' || c == '\r' || c == '\\') {
+                                break;
+                            }
+                        }
                         isCommentLine = true;
-                        continue;
                     }
                 }
 
                 if (c != '\n' && c != '\r') {
                     lineBuf[len++] = c;
< prev index next >