Those Pesky End-of-Line Characters

Problem

You really want to know about end-of-line characters.

Solution

Use \r and \n in whatever combination makes sense.

Discussion

If you are reading text (or bytes containing ASCII characters) in line mode using the readLine( ) method, you’ll never see the end-of-line characters, and so won’t be cursed with having to figure out whether \n, \r, or \r\n appears at the end of each line. If you want that level of detail, you have to read the characters or bytes one at a time, using the readline methods. The only time I’ve found this necessary is in networking code, where some of the line-mode protocols assume that the line ending is \r\n. Even here, though, you can still work in line mode. When writing, send a \r\n. When reading, use readLine( ) and you won’t have to deal with the characters.

outputSocket.print("HELO " + myName + "\r\n");
String response = inputSocket.readLine(  );

Get Java Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.