IO流

 

IO流
File类:代表当前系统中的文件(文件或文件夹),是文件和目录路径名的抽象表示。
File D:\\abcd.txt/ D:/abcd.txt
File abc.txtFile类中构造器:
File(File f,String path);
File(String path);
File(String parent,String path);

File类中常用的方法:
exists(); 判断文件是否存在
createNewFile();创建一个新的文件
getName(); 获得当前文件名
getParent(); 获得当前文件所在路径名
isDirectory(); 判断当前文件是否是一个文件目录
file.isFile();判断当前文件是否是 一个文件
lastModified(); 返回文件的最后的修改时间
length(); 返回当前文本中内容的长度
(文件清单) list();返回当前盘符或文件夹下的所有文件或文件夹
(目录清单) listFile();返回当前盘符下的所有文件的全目录
mkdir(); 创建文件夹
mkdirs();创建多个文件夹
编写一个删除文件夹的案例

流:程序中的流就是对数据的读 ,写操作
流的分类:
按方向划分: 输入流 Input , 输出流 Output
按类型划分: 字节流(MP3,MP4,电影,图片) , 字符流(纯文本)
字节流中也分输入/输出:
InputStream 类
OutputStream 类
字符流中也分输入/输出:
Reader 类
Wirter 类
编写文件的复制功能
字符流: Reader / Writer
常用方法: read(); write();
InputStreamReader / OutputStreamWriter 字节流和字符流的装还流
对象的序列化:
对象的序列化是将一个对象变成二进制的过程,(文件)需要实现一个接口: Serializable 序列化接口序列化:将一个对象写入到文件或内存中的过程叫序列化,反序列化: 将一个存有二进制的文本,转换成一个对象
ObjectInputStream ObjectOutputStream 对象流
readObject(); writerObject(Object o);
反序列化 序列化
3. BufferReader 字符流的缓冲区
4. Scanner 类的使用,常用方法:
s.next();识别空格前截取
String str = s.next();
s.nextLine();按回车截取
String ss = s.nextLine();
5.PrintWriter 打印流
常用方法:print();
=====================================================
nio / io 区别就是效率问题
io 是按个读取
nio 是按 块读取
主要的两个对象:
Buffer缓冲区:
是nio中的缓冲区,要是说io是面向流的读写操作,
那么nio面向块儿的读写操作,更高效;
最常用的类: ByteBuffer(最常用的)、 CharBuffer DoubleBuffer、
FloatBuffer IntBuffer, LongBuffer ShortBuffer
方法:put(向缓冲区中赋值);
get(int index); 通过下表来获取值
array(返回一个数组);
IntBuffer.allocate(3); 设置缓冲区的大小
Channel管道:
I/O是单项传输
Channel是双向传输:
通过FileOutputStream 获得FileChannel对象
并使用 FileChannel中的方法 read(); writer();
将文本读取到缓冲区中,在从缓冲区中写入制定文件
重要方法: read(ByteBuffer bb);
writer(ByteBuffer bb);
FileChannel中的flip(); 重点,使缓冲区中的刘进行切换...
补充: try(){}catch(){} jdk1.7的新特性,资源的自动关闭
可以自动关闭的类必须实现Closeable接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值