Java.IO.InputStream 1.0
abstract int read();
//
读取一个字节并返回
abstract void write(int b);
//
将字节写入指定输出位置
int bytesAvailable =System.in.available();
if(bytesAvailable>0){
byte[] data=new byte[bytesAvailable];
System.in.read()(data);
}
//
available方法,可检查木卡能够读取的字节数。
abstract int read();
//
读取该字节的数据并返回该字节。注:如遇到流的末尾,返回-1。
int read (byte[] b);
//
将数据读入一个字节数组,同时返回实际读取的字节数。注:如遇到流的末尾,返回-1。
int read(byte [] b ,int off,int len)
//
将数据读入一个字节数组。返回读取的实际字节数。注:如遇到流的末尾,返回-1。
//
参数:b 要把数据读入指定的数组
off 指定数组B的一个偏移位置,读取的第一个字节将置于此处
len 指定可以读取的最大字节数
long skip(long n);
//
在输入流中跳过N个字节 ,他的返回值是实际跳过的字节数。注:如遇到流的末尾,该值可能小余n。
int available();
//
返回在不发行阻塞的情况下,可读取到的字节数
void close();
//
关闭输入流
void mark (int readlimit):
//
在输入流当前位置放置标记,若输入流中读取的字节数多余readlimit ,便允许流忽略这个标记。
void Reset();
//
返回(重设为)到上一个标记。以后再次调用read时,便会重读那些字节。如果当前流没有设置标记,则不进行重设操作。
boolean markSupported();
//
假如数据流支持标记,则返回TRUE。
Java.IO.OutputStream1.0
abstract void write(int n);
//
写入一个字节的数据
void write(bte[] b);
//
写入数组b内的所有字节
void write(byte[]b,int off,int len)
//
参数:b 指定要从哪个数组写入数据
off 指定数组b的一个偏移位置,从该位置开始写入流中
len 指定可以读取的最大字节数
void close()
//
刷新并关闭输出流
void flush()
//
刷新输出流;将全部被缓冲数据发送至目的地
Tips:
C++提供了比实际要更多的流类型,比如istream.ostream.iostream.ifstream.ofstream.fstream.wistream.wifstream.istrstream等等共十八个类。Java对此进行了简化,为我们提供了许多独立的类,分别用来选择缓冲、提前查看、随机存取、文本格式化及二进制数据。
Java拥有超过60个不同的流类型。
四个抽象类构成了所有类的基础:
inputStream、OutputStream、Reader和Writer 这四个类型的对象不需要创建,但其他方法可以返回这些类型的对象。
InputStream和Outputstream类允许我们读取单独的字节和字节数组但不对字符串及数字进行读写。
DataInputStream和DataOutputStream则允许对所有的基本JAVA类型进行读写