第七章输入输出流

一、数据流的基本概念
  1. 流是一组有顺序、有起点和终点的数据构成集合,来完成数据输入输出,属于java.io包中。
    Object
    InputStream输入字节流
    OutputStream输出字节流
    用于二进制字节传输
    Reader输入字符流
    Writer输出字符流
    用于字符传输
  2. 输入字节流常用方法(最重要的是读):
    1. int read()读一个字节
    2. int read(byte[] b)读一批字节放数组
    3. int read(byte[] b,int off,int len)读一批字节并放到数组指定位置
    4. long skip(long n)滑动指针
    5. void close()关闭流
    6. int available()剩余多少未读
    7. boolean markSupported()
    8. void mark(int readlimite)
    9. void reset()
  3. 输出字节流常用方法(最重要的是写):
    1. void write(int b)写一个字节
    2. void write(byte b[])写一个数组
    3. void write(byte b[],int off,int len)在指定位置写多个字节
    4. void flush()清空缓冲区域
    5. void close()关闭流
二、基本字节数据流类
  1. 文件数据流
    1. FileInputStreamFileOutputStream类实现对文件进行读写操作;
    2. 不支持mark()reset()
  2. 缓冲数据流:为了提高读写速度
    1. BufferedInputStream(InputStream in)
    2. BufferedInputStream(InputStream in,int size)
    3. BufferedOutputStream(OutputStream out)
    4. BufferedOutputStream(OutputStream out,int size)
    5. 常用方法read();write();flush();
  3. 数据数据流
    1. DataInputStream读取基本类型的方法
    2. byte readByte()
    3. long readLong()
    4. double readDouble()
    5. boolean readBoolean()
    6. String readUTF()
    7. int readInt()
    8. float readFloat()
  4. 对象流
    	//向文件写对象流创建
    	FileOutputStream fo = new FileOutputStream("文件");
    	ObjectOutputStream oo = new ObjectOutputStream(fo)
    	Student stu = new Student();
    	stu.setName("黎明");
    	oo.writeObject(Object stu );//将对象信息写入文件也叫序列号
    	oo.close()
    	//向文件读对象
    	FileInputStream fi = new FileInputStream("文件");
    	ObjectInputStream oi = new ObjectInputStream(fi)
    	stu = (Student )oi.readObject()//读取信息写入对象也叫反序列化
    	oi.close();
    
  5. 序列化:对象信息长久保存到文件叫序列化implements Serializeable,反之叫反序列化。
三、基本字符流
  1. 输入(字节流转字符流)
    1. InputStreamReader(InputStream in)
    2. InputStreamReader(InputStream in,String enc)指定编码方式
    3. FileReader(文件);read(char[] c);字符变字符数组
    4. BufferedReader(Reader r);readLine()//读一行;效率更高
  2. 输出(字节流转字符流)
    1. OutputStreamWriter(OuptputStream out)
    2. OutputStreamWriter(OuptputStream out,String enc)指定编码方式
    3. FileWriter(文件);write(String s);
    4. BufferedWriter(Writer w);newLine();//写一空白行;效率更高
四、文件的处理
  1. File
    1. 获取文件名:String getName();
    2. 获取文件路径:String getPath()
    3. 获取文件绝对路径:Stiring getAbsolutePath()
    4. 获取文件父级目录名称:String getParent()
    5. 更改文件名:boolean renameTo(File newFileName)
    6. 文件对象是否存在:boolean exists()
    7. 文件对象是否可写:boolean canWrite()
    8. 文件对象是否可读:boolean canRead()
    9. 文件对象是否是文件:boolean isFile()
    10. 文件对象是否是目录:boolean isDirectory()
    11. 文件对象是否是绝对路径:boolean isAbsolute()
    12. 获取文件最后修改时间:long lastModified()
    13. 获取文件长度:long length()
    14. 删除文件:boolean delete()
  2. 随机访问文件(字节流)
    //根据文件名
    RandomAccessFile a = new RandomAccessFile(String name,String mode);
    //根据文件对象
    RandomAccessFile b = new RandomAccessFile(File f,String mode);
    //mode(r:只读方式,rw:读写方式)
    long getFilePointer();//返回文件指针当前位置
    void seek(long pos);//将文件指针放入指定位置
    

注意:单选题、简答题、程序填空题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值