2016年1月13日20:21:04
Java高级部分流重点总结下
作者:数据分析玩家
1、简述四大基本抽象流中InputStream流、Reader流常用的三个方法
凡是输入流的方法都有返回值,凡是输出流的方法都没有返回值
FileInputStream fr = new FileInputStream(输入设备);
1> int read():从fr所关联的设备当中读取一个字节,并这个字节所对应的整数形式进行返回,如果读取到文件的末尾则返回-1
2> int read(byte[] b):从fr所关联的设备当中读取一定数量的字节,并将其存储到字节数组b当中,如果读取到文件的末尾则返回-1
3> int read(byte[] b,int off,int len):从fr所关联的设备当中读取一定数量的字节,并将其存储到字节数组b当中,其中off表示第一个字节要存储的位置,每次最多向字节数组b当中写入len个字节,如果读取到文件的末尾则返回-1
字节流与字符流的方法一模一样,仅仅是处理的单位不同
1> int read()
2> int read(char[] b): 3> int read(char[] b,int off,int len):
2、简述四大基本抽象流中OutputStream流、Writer流常用的两个方法
FileOutputStream fw = new FileOutputStream(输出设备);
1> void write(byte[] b):从字节数组b当中读取数据,并将数据写到fw所关联的设备当中
2> void write(byte[] b,int off,int len):从字节数组b当中读取数据,从off位置开始,将len个字节的数据写到fw所关联的设备当中
字节流与字符流的方法一模一样,仅仅是处理的单位不同
1> void write(char[] b): 2>void write(char[] b,int off,int len):
3、简述字节流与字符流的区别
1>字节流可以处理所有格式的文件,但是带有汉字的文本通过字节流输出到显示器上时会出现乱码的现象,但是若要完成的是文本文件的复制则不会出现乱码的现象---即字节流可以完成文本文件的拷贝
2>字符流只能处理文本格式的文件,不能处理非文本格式的文件,因为非文本格式的文件本身就不是由一个一个字符组成的,因此若要当做一个一个字符来解读肯定会出错
3>在Java当中,一个字符占2个字节,虽然英文单词也占2个字节,但是默认的高字节为空,所以英文单词可以通过一个一个字符来解读
4、简述文件流FileInputStream、Reader、FileOutputStream、Writer常用的两个构造方法
FileInputStream(String name):
FileReader(String name):
利用该构造函数可以实现将输入流连接到某个文件的功能,从而可以从指定的设备当中读取数据
FileOutputStream(String name):
FileWriter(String name):
利用该构造函数可是实现将输出流连接到某个文件的功能,从而可以将数据输出到指定的设备当中
5、简述缓冲流BufferInputStream、BufferReader、BufferOutputStream、BufferedWriter流中常用的方法
BufferedInputstream fr = new BufferedInputStream(输入设备)
1> int read(byte[] b):从fr所关联的设备当中读取数据,并先将数据写到默认的缓冲区当中,然后在一次性写到字节数组b当中
2> String readLine():从fr所关联的设备当中读取一个文本行,并返回一个字符串,该方法为BufferedReader特有,并且是读取文本的首选方法
BufferedInputstream fw = new BufferedInputStream(输出设备)
1> void write(byte[] b):从字节数组b当中读取数据,并先将数据写到默认的缓冲区当中,然后在一次性写到fw所关联的设备当中
2> void newLine():在fw所关联的设备当中写入一个换行符,该方法为BufferedWriter特有,并且是读取文本的首选方法
综上:如果我们希望用BufferedInputStream和BufferedOutputStream来完成将一个设备中的数据导入到另一个设备当中,应该先定义一个临时的字节类型的数组,用这个临时的字节类型的数组作为输入流与输出流交互的中转枢纽
6、简述Java中的数据流常用的方法
Java中的数据输入流本质上为C语言中Scanf函数功能的具体化
Java中的数据输出流本质上问C语言中Printf函数功能的具体化
DataInputStream流常用的方法:
i = fr.readInt():从fr所关联的设备当中读取一个整型变量,并赋给变量i,类似于C语言中的scanf(“%d”,&i);
DataOutputStream流常用的方法:
fw.writeInt(i):将整型变量i输出到fw所关联的设备当中,类似于C语言中的:printf(“%d”,i);
2016年1月13日21:27:25