专注于互联职能人才培养很荣幸,我们身在互联时期,承载着开放、同等、协作与分享的互联精神,共同传递信息、分享信息。正是基于这样的条件下,我们每个人才能取得更多的讯息,本身储备的知识库才能越发充盈。今天的这节课,Java胡将给我们讲讲IO流。
1、IO流(输入输出流)IO:Input/Output流的分类:
依照流的流向,流可以分为输入流和输出流
输入流:将外设(硬件装备、文件、络、其他程序)中的数据输入的程序中
输出流:将程序中的数据输出到外设中
依照流所处理的数据类型,流可以分为字节流和字符流
字节流:以字节为处理单位,按字节进行读取/写出
字符流:以字符为处理单位,按字符进行读取/写出
依照处理方式的不同,流可以分为节点流(低级流)和处理流(高级流)
处理流一般都是对节点流进行封装得到的
依照流的流向和处理的数据类型:
输入流
输出流
字节流
字节输入流InputStream
字节输出流OutputStream
字符流
字符输入流Reader
字符输出流Writer
InputStream此抽象类是表示字节输入流的所有类的超类
OutputStream此抽象类是表示输出字节流的所有类的超类
Reader是所有字符输入流的所有类的超类
Writer是所有字符输出流的所有类的超类
2、字节输入流InputStream家族:InputStream
AudioInputStream
FileInputStream
用来读取文件数据
FilterInputStream
BufferedInputStream
带有缓冲区支持mark和reset
DataInputStream
支持各种数据类型的读取
SequenceInputStream
将两个字节输入流进行合并,可以通过一个流读取到2个流中的数据
ObjectInputStream
用于读取对象(反序列化)
3、字节输出流OutputStream家族:OutputStream
write(intbyte)
write(byte[]b)
write(byte[]b,int,int)
flush();
close();
ByteArrayOutputStream
将数据以字节的情势写入到一个字节数组
FileOutputStream
将数据以字节的情势写入到一个文件中
FilterOutputStream
BufferedOutputStream
带有缓冲区的字节输出流
DataOutputStream
支持各种数据类型的写入
ObjectOutputStream
writeObject(obj):可以写对象(对象序列化)
4.实例代码(借助流完成文件的拷贝)
leInputStream;
leNotFoundException;
leOutputStream;
Exception;
publicclassCopyFile1{
publicstaticvoidmain(String[]args){
Stringsrc=D:/e;
Stringdest=E:/.exe;
copy(src,dest);
}
privatestaticvoidcopy(Stringsrc,Stringdest){
FileInputStreamfis=null;
FileOutputStreamfos=null;
try{
fis=newFileInputStream(src);
fos=newFileOutputStream(dest);
byte[]b=newbyte[];
intlen=-1;
while((len=ad(b))!=-1){
ite(b,0,len);
}
}catch(FileNotFoundExceptione){
intStackTrace();
}catch(IOExceptione){
intStackTrace();
}finally{
try{
if(fos!=null)
ose();
if(fis!=null)
ose();
}catch(IOExceptione){
intStackTrace();
}
}
}
}
福企智酷原创转载请注明出处
哪家医院治愈白癜风怎样能够治愈白癜风