IO输入输出
流概述
流是一组有序的数据序列,根据操作的类型分为输入和输出;
输入流
InputStream 是字节输入流的抽象类;是所有字节输入流的父类;
InputStream是用来处理字节的,并不适合处理字符;
Reader类专门用来处理字符输入;
输出流
OutputStream 是字节输出流的抽象类,是所有字节输出流的父类;
OutputStream 是用来处理字节的,并不适合处理字符;
Writer类专门用来处理字符输出;
File类
File是java.IO包中唯一代表磁盘本身的对象,定义的一些文件操作方法与平台无关;
实现文件的创建、删除、重命名;包括获取文件的信息;
数据流可以将数据写入到文件中,文件也是数据流最常用的数据媒体;
创建和删除文件
File file=new File(“word.txt”);
file.creatNewFile();
file.delete();
获取文件信息
file.getName()
file.CanReas();
file.CanWrite();
file.isFile();
file.isHidden();
file.lastModified();
文件的输入与输出流
大部分数据操作放在内存中,程序结束或关闭时,这些数据将消失;
为了数据的永久保存,可以通过文件的输入输出流与文件建立连接,将数据保存到文件中;
FileInputStream和FileOutputStream
与文件建立连接;
FileOutputStream out =new FileOutputStream(file)
byte by[]=”fdasfdafdsa”.getBytes();
out.Write(by) 将数组内容写入到文件中;
out.Close();
FileInputStream in=new FileInputStream(file)
byte by[]=new byte[2*1024]
in.Read(by) 从文件中读取信息
in.Close();
FileReader和FileWriter
FileInputStream和FileOutputStream只能读取字节或字节数组,如果读取汉字,可能会出现乱码,应采用Reader或Writer读取;
带缓存的输入与输出流
BufferedInputStream和BufferedOutputStream
将InputStream或OutputStream存入缓存输入流或输出流中,
Flush()用于将缓存区不满的情况下,将数据强制写入到外设;
BufferedReader和BufferedWriter
分别继承Reader和Writer
DataInputStream和DataInputStream
数据输入输出流,允许应用程序从底层输入流中读取基本java数据类型,不再关心是哪钟字节。
DataInputStream ds =new DataInputStream(fs)//获取文件输入流的底层数据流;
Zip压缩输入输出流
Zip压缩管理实现将文件写入到压缩文件中,和从压缩文件中读取文件内容;
压缩文件
创建zip输出流,将文件夹中的内容进行输出为压缩文件。
解压缩文件
创建zip输入流,将压缩文件的内容解压出来。