1. System.out、System.in
-
System 内部:
public final static InputStream in = null; public final static PrintStream out = null;
- 二者均是实例化后的对象;
2. PrintStream、PrintWriter
Writing to console with System.out and PrintWriter
- PrintStream:a stream of bytes,字节流;
- 使用平台默认编码,
-
PrintWriter:a stream of characters,字符流;
- 可以自定义编码,通过 OutputStreamWriter
private static final CHARSET_NAME = "UTF-8"; PrintWriter out = new PrintWriter(new OutputStreamWriter(output, CHARSET_NAME));
3. FileReader
-
FileReader.read() ⇒ 逐个字符进行读取,读取到文件末尾后,再次调用 read() 方法返回 -1(和 C 语言的文件处理保持一致)
int ch; while (-1 != (ch = (int)reader.read())) { ... }
注意 windows 下的换行符为 \r\n ⇒ 对应 ascii 码为 13(CR),10(LF);