jdk中提供了java.io包,其中包括一系列的类来实现输入输出处理。
标准输入/输出例子- import java.io.IOException;
- public class Test3 {
- public static void main(String[] args)throws IOException {
- int i_readb;
- int i_count = 0;
- char flag = 0;
- while (flag!='q')
- {
- i_readb = System.in.read();
- flag = (char)i_readb;
- i_count++;
- System.out.print((char)i_readb);
- }
- System.err.println("counted"+i_count+"totalbytes.");
- }
- }
复制代码
在上面的程序中,应用java提供的System.in、System.out和System.err进行输入输出操作
字节流和字符流
java类库中的I/O类分为输入和输出两部分,通过集成,任何由InputStream或Reader衍生而来的类都含有名为read()的基本方法,用于读取单个字节或者字节数组。同样的,任何由OutputStream或Writer衍生而来的类都含有名为write()的基本方法,用于写单个字节或者字节数组。
InputStream类的子类
ByteArrayInputStream:允许将内存的缓冲区当做InputStream使用,从中提取出字节的缓冲区作为一种数据源,将其FilterInputStream对象项链以提供有用连接
StringBufferInputStream:将String转换成InputStream,传入的参数为字符串。底层实际实现StringBuffer
FileInputStream:从文件中读取信息,传入的参数为字符串,表示文件名、文件或FileDescriptor对象
PipeInputStream:用于写入相关PipedOutput-Stream,PipedOutputStream作为多线程中数据源的数据,实现“管道化”概念,其与FilterInputStream对象项链以提供有用连接
|
|