Re: Converting newline
On 7-6-2008 0:14, sevedaja@gmail.com wrote:
hello
I?ve recently started learning Java ( and programming in general ),
but it's not that easy.
1) According to System.getProperty("line.separator"); on windows
systems newline is represented by CR+LF. Then why, when reading from
standard input ( keyboard ) and pressing enter, the only character
read is CR ( \n ), but not also LF (?\r?):
InputStreamReader is = new InputStreamReader ( System.in );
int i1 = fr.read(); // after pressing enter, i1 equals 10
int i2 = fr.read(); // after pressing enter, i2 equals 10
[Snip]
Contrary to your findings, on my Windows XP SP3 both CR an LF characters
do get read.
Using the following program
package test;
import java.io.InputStreamReader;
public class ReadingFromConsole {
public static void main(String[] args) throws Exception {
System.out.print("Type stuff (press Ctrl+C to quit): ");
InputStreamReader reader = new InputStreamReader(System.in);
int ch;
while ((ch = reader.read()) != -1) {
System.out.print(ch);
if (ch >= 32) {
System.out.print('\t');
System.out.print((char) ch);
}
System.out.println();
}
}
}
the output on the console (cmd.exe) is as follows:
C:\Documents and Settings\RuiterR\My Documents\Projects\Trials>java
-showversion -classpath bin test.ReadingFromConsole
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)
Type stuff (press Ctrl+C to quit): foo bar baz
102 f
111 o
111 o
32
98 b
97 a
114 r
32
98 b
97 a
122 z
13
10
13
10
--
Regards,
Roland