手记

Java IO流简要笔记!!!!!!!!!!!!!!!!!!!!

Java IO流简要笔记
File类
File类只用于表示文件的信息,不能进行访问
常用方法:
public String getName()
public boolean canRead()
public boolean canRead()
public boolean exists()等等
publi String[] list(FilenameFiler obj)列出目录下所有文件,其中FilenameFiler是一个接口
创建目录:file.mkdir(),创建文件:file.creatNewFile(),删除文件:file.delete();

文件任意流
RandomAccessFile(String filename,String mode),RandomAccessFile(File file,String mode),mode为追加, 可以读文件和写文件
常用方法:getFilePointer(),seek(),打开文件时,指针pointer=0,每读一个和写一个,pointer+1;
如:RandomAccessFile raf=new RandomAccessFile(file,"rw")
raf.write(int)-->只写一个字节(后8位),同时指针指向下一个位置,准备再次写入
raf,read(int)-->读一个字节
文件读完之后一定要关闭:raf.close()

IO流
1、字节流
(1)InputStream/OutputStream,都是抽象的读/写数据方式
(2)EOF=End 读到结尾时是-1
(3)输出流基本方法
out.write(int b) 写一个字节
out.write(byte[] buf) 将buf字节的数组写入到流
out.write(byte[] buf,int start,int size) start位置开始写,size为写入的长度
(4)输入流的基本方法
in.read(int b) 读入一个字节
in.read(byte[] buf) 将数据读入buf数组中
in.read(byte[] buf,int start,int size) 从start位置开始放数据,size为长度

(5)常用方法:FileInputStream (String filename),FileInputStream (File file)
FileOutputStream (String filename,boolean append),FileOutputStream (File file,boolean append),append为追加
(6)缓冲流:BufferedInputStream(InputStream in)和BufferedOutputStream(OutputStream out)
(7)数据流:DataInputStream(InputStream in)和DataOutputStream(OutputStream out)
常用方法:writeInt()/writeDouble()/writeUTF()等等

2、字符流
(1)输入流:FileReader(File filename),FileReader(String filename)与FileInputStream (String filename),FileInputStream (File file)对应
(2)输出流:FileWriter (File filename),FileWriter (String filename)
FileWriter (File filename,boolean append),FileWriter(String filename,boolean append)
与FileOutputStream (String filename,boolean append),FileOutputStream (File file,boolean append)对应
字符输入流和输出流的read和write方法使用字符数组读写数据,即以字符为基本单位处理数据
(3)缓冲流:BufferedReader(Reader in)和BufferedWriter (Writer out)
BufferedReader--->readLine()一次读一行
BufferedWriter--->newLine()写入回行符

3、对象的序列化,反序列化
(1)对象序列化,就是将Object转换成byte序列,反之叫对象的反序列化
(2)序列化流:ObjectInputStream (InputStream in)/ObjectOutputStream (OutputStream out)
读写方法:readObject/writeObject
(3)序列化接口(Serializable)
对象必须实现序列化接口,才能进行序列化,否则出现异常,这个接口没有方法,无须重写

17人推荐
随时随地看视频
慕课网APP