InputStream 和 Reader:
InputStream 和 Reader 是所有输入流的抽象基类 , 本身并不能创建实例执行输入,但是他们是所有输入流的模板,他们的方法是所有输入流都可以使用的方法
InputStream:
int read() 从输入流中读取单个字节,返回读取的字节数据(字节属猪可以直接转换成int类型)
int read(
byte[] b) 从输入流中读取b.length个字节数据,并将其存储在字节数组中,返回实际读取的字节数
int read(
byte[]b ,
int off , in len) 从输入流中读取最多len个字节的数据,并将其存储在数组b中,并不是从数组起点开始,而是从off位置开始,返回实际读取的字节数。
Reader:
int read() 从输入流中读取单个字符
int read(
char[] cbuf) 从输入流中读取cbuf.length个字符数据,并将其存储在字符数组中,返回实际读取的字符数
int read(
char[] cbuf ,
int off ,
int len) 从输入流中 , 读取len个字符的数据, 将其存储在cbuf字符数组当中,放入数组中时并不是从数组的七点开始, 而是从off位置开始,返回实际读取的字符数
InputStream和Reader 移动记录指针的方法:
void mark(
int readAheadLimit) 在记录指针当前位置记录一个标记(mark)
boolean markSupported() 判断此输入流是否支持mark()操作,即是否支持标记
void reset() 将此流的记录指针重新定位到上一次记录标记mark的位置
long skip(
long n) 记录指针向前移动n个字节/字符
InputStream和Reader
OutputStream和Writer:相应的方法
void write(
int c) 将制定的字节/
字符输出到输出流中,c既可以代表字节,也可以代表字符
void write(
byte[]/
char[] buf) 将字节数组/
字符数组中的数据传输到指定流中
void write(
byte[]/
char[] buf ,
int off ,
int len) 将字节数组/字符数组中从off开始,长度为len的字节/
字符输出到输出流中
Writer 可以用字符串来代替字符数组,还有String对象作为参数。
void write(String str) 将str字符串里包含的字符输出到指定输出流中
void write(String str ,
int off ,
int len) 将Str字符串里从off开始,长度为len的字符输出到指定的输出流中
OutputStream和Writer
操作流的步骤:
1.建立流的管道,需要一个明确的File数据源 2.进行字节/字符的读/写的操作 3.操作完毕,关闭流
public class File02 {
public static void main(String[] args)
throws IOException {
//创建一个输入流管道
FileInputStream fis =
new FileInputStream(
new File("D://demo/a.txt"
));
//创建一个长度为1024的水桶
byte[] b =
new byte[1024
];
//用户保存实际读取的字节数
int hasRead = 0
;
FileOutputStream out =
new FileOutputStream(
new File("D://demo/acopy.txt"
));
while((hasRead = fis.read(b)) != -1
) {
//取出水桶中的水, 然后做需要的操作
out.write(b , 0
, hasRead);
}
//关闭流
out.close();
fis.close();
}
}
View Code
Java输入输出流体系中常用的流分类
分类字节输入流字节输出流字符输入流字符输出流抽象基类InputStreamOutputStreamReaderWriter访问文件FileInputStreamFileOutputStreamFileReaderFileWriter访问数组BiteArrayInputStreamBiteArrayOutputStreamCharArrayReaderCharArrayWriter访问管道PipedInputStreamPipedOutputStreamPipedReaderPipedWriter访问字符串 StringReaderStringWriter缓冲流BufferedInputStreamBufferedOutputStreamBufferedReaderBufferedWriter转换流 InputStreamReaderOutputStreamWriter对象流ObjectInputStreamObjectOutputStream 抽象基类FilterInputStreamFilterOutputStreamFilterReaderFilterWriter打印流 PrintStream PrintWriter推回输入流PushbackInputStream PushbackReader 特殊流DataInputStreamDataOutputStream
转载于:https://www.cnblogs.com/Uzai/p/9646895.html