IO包
java.io.* 包
1、概述
这个包中,主要有 文件类
File类 这个类负责进行文件的外姓操作;
RandomAccessFile类
这个类负责进行文件的内容操作。
和输入、输出类构成。
XXXInputStream
负责某一个数据源数据的输入。
XXXOuputStream
负责某一个数据源数据的输出。
2、文件类
File类 Java基础中 第二重要的类
所有的方法都需要熟练掌握
File(File parent, String child)
File(String pathname)
File(String parent, String child)
File(URI uri)
new File(new File("d:\\"),"abc");
new File("d:\\abc\\");
new File("d:\\aaa\\bbb","abc");
new File("http://www.sohu.com/aaa/bbb/ccc/33.txt");
File f = new File("d:\\abc\\");
代表创建一个文件对象 f 该对象 代表d:\\abc\\ 这个东西;
东西 可以是 文件 也可以是文件夹。
其它方法
f.craeteNewFile();//创建对应的文件;
f.mkdir(); 创建对应的文件夹;,如果父目录不存在,不创建
f.mkdirs(); //创建对应的文件夹 ,如果父目录不存在,
一并都创建。
f.canread()//判断是否可读;
f.canWrite()//判断是否可写;
f.delete()// 删除对应的东西,如果是文件,直接删除,如果是
文件夹,则文件夹必须为空,才能删除;
f.deleteOnExit() //程序结束删除;
f.exists() //判断对应的 东西 是否存在;
f.getName() //得到文件名 或者文件夹名字
f.getParent() //获得上一级名字
f.getParentFile()//获得上一级对象
f.isAbsolute() //判断 对应的东西 是否绝对
f. isFile()// 判断对应的东西是否为文件
f.isDirectory()//判断对应的东西是否为文件夹
long x = f.lastModified() //获得该文件最后修改时间
代表的是从1970:01:01:00:00:00:000 到创建
时间的时间差;
表达时间用 值 更有效率
f.length() //获得文件的长度
f.list()//得到 文件夹中所有的 名字
f.listFile()//得到文件夹所有的 对象
File.listRoots()//得到该硬盘所有的分区 对象
f.getAbsolutePath()//得到该对象的绝对路径
案例1 、2
硬盘扫描
硬盘删除
3、RandomAccessFile类
这个类 主要用来 操作文件的内容
学习创建
RandomAccessFile(File file, String mode)
RandomAccessFile(String name, String mode)
new RandomAccessFile(new File("d:\\aaa.txt"),"r");
new RandomAccessFile(d:\\aaa.txt","rw");
学习方法
read(); 从文件中读取一个字节
int length = read(byte[] bb) ; 从文件中读取一筐字节
int length = read(byte [] ,int start,ing count);从文件中读取一部分筐字节
如果结果是 -1表示文件结束
length代表真实的读取数量
write(int x);
write(byte[] bb);
write(byte[] bb,int start,int length);
两种跳
seek(n); 从头跳
skipBytes(n); 从当前位置跳
案例:
日志器
读写效率 基本由容器的大小确定;
理解文件