黑马程序员技术交流社区

标题: IO流面试题(JAVA) [打印本页]

作者: 陈月华    时间: 2016-4-9 00:13
标题: IO流面试题(JAVA)
一:IO流整体说明?
用的是装饰模式,装饰模式有四个角色,分别是通用接口、本原、抽象装饰、具体装饰,因为是将本原聚合到了装饰中,所以可以将本原或装饰通过构造子注入到另一个装饰,多个装饰可以随意的组合,形成一个综合的功能对象。
io流分为输入流及输出流,输入流是文件到内存,输出流是内存到文件。
流分为低层流及高层流,在实例化高层流时必须通过构造子将低层流注入到高层流中。输入流通用的方法是read(),read(char[]),read(byte[]),readline。
输出流的通用方法是write(int),write(byte[]),write[char[]],print("string")。
当读取一个文件时,对于以字节/字节数组,字符/字符数组读取的结束条件是!=-1,对于以字符串读取的结束条件是!=null。
对于有缓存的输出时,要想写入到文件必须flush或close。
二:输入字节流的体系结构?
输入字节流的体系结构:
InputStream
FileInputStream FilterInputStream
ObjectInputStream DataInputStream BufferedInputStream
实现代码:
--读一个字节
int temp=fis.read();
while(temp!=-1)
{
System.out.print(temp);
temp=fis.read();
}
--读一批字节
byte[] bytes=new byte[1000];
int result=fis.read(bytes);
while(result!=-1)
{
String temp=new String(bytes,0,result);
result=fis.read(bytes);
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2