📄 73.txt
字号:
//
从标准输入读取数据
import java.io.*;
public class Test13_3 {
public static void main (String args[]) {
String s;
// 创建一个BufferedReader对象从键盘逐行读入数据
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
try {// 每读入一行后向显示器输出
s = br.readLine();
while (!s.equals("")) {
System.out.println("Read: " + s);
s = br.readLine();
}
br.close(); // 关闭输入流
} catch (IOException e) { // 捕获可能的IOException.
e.printStackTrace();
}
}
}
//
Java I/O基本原理
为进行数据的输入/输出操作,Java中把不同的输入/输出源(键盘、文件、网络连接等)抽象表述为“流”(stream)。
java.io包中定义了多个流类型(类或抽象类)来实现输入/输出功能。
两种基本的流:输入流和输出流
输入流: 只能从中读取数据,而不能向其写出数据
输出流: 只能向其写出数据,而不能从中读取数据
//
节点流和处理流
节点流: 可以从/向一个特定的地方(节点)读写数据,例如磁盘或者一块内存。
处理流: 是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读/写功能。
//
字符流和字节流
按处理数据的单位划分,Java支持两 种基本的流类型: 字符流和字节流
字节流 字符流
输入 InputStream Reader
输出 OutputStream Writer
//
InputStream类提供的方法
三个基本的read方法:
int read()
int read(byte[] buffer)
int read(byte[] buffer, int offset, int length)
其它方法:
void close()
int available()
skip(long n)
boolean markSupported()
void mark(int readlimit)
void reset()
//
OutputStream类提供的方法
三个基本的write方法:
void write(int c)
void write(byte[] buffer)
void write(byte[] buffer, int offset, int length)
其它方法
void close()
void flush()
//
Reader类提供的方法
三个基本的read方法:
int read()
int read(char[] cbuf)
int read(char[] cbuf, int offset, int length)
其它方法
void close()
boolean ready()
skip(long n)
boolean markSupported()
void mark(int readAheadLimit)
void reset()
//
Writer类提供的方法
三个基本的write方法:
void write(int c)
void write(char[] cbuf)
void write(char[] cbuf, int offset, int length)
void write(String string)
void write(String string, int offset, int length)
其它方法
void close()
void flush()
///
节点流类型(Node Streams
类 型 字 符 流 字 节 流
File FileReader
FileWriter FileInputStream
FileOutputStream
Memory Array CharArrayReader
CharArrayWriter ByteArrayInputStream
ByteArrayOutputStream
Memory String StringReader
StringWriter
Pipe PipedReader
PipedWriter PipedInputStream
PipedOutputStream
//
处理流(Processing Streams)
处理类型 字 符 流 字 节 流
Buffering BufferedReader
BufferedWriter BufferedInputStream
BufferedOutputStream
Filtering FilterReader
FilterWriter FilterInputStream
FilterOutputStream
Converting between
bytes and character InputStreamReader
OutputStreamWriter
Object Serialization ObjectInputStream
ObjectOutputStream
Data conversion DataInputStream
DataOutputStream
Counting LineNumberReader LineNumberInputStream
Peeking ahead PusbackReader PushbackInputStream
Pinting PrintWriter PrintStream
//
使用不同的字符编码
如果需要从与本地机器不同的字符编码格式的文件中读取数据(例如,从网络上的一台基于不同平台的机器上读取文件),可以在构造InputStreamReader对象时显式指定其字符编码,例如:
ir = new InputStreamReader(System.in, “ISO8859_1”)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -