File:文件和目录路径名的抽象表示形式,File类的实例是不可变的。
构造方法:
File(String pathname) :传入一个字符串路径封装成File对象。
File((File parent, String child) :传入一个File类型对象的父级路径和子级路径
File(String parent, String child) :传入一个父级路径和子级路径
File类常用功能:
创建功能:
boolean createNewFile():指定路径不存在该文件时创建文件,返回true,否则返回false
boolean mkdir():当指定的单级文件夹不存在时创建文件夹并返回true,否则返回false
boolean mkdirs():当指定的多级文件夹并返回true,否则返回false
删除功能:
boolean delete():删除文件或者删除单级文件夹
绝对路径:
固定不可改变的路径,以盘符开头
相对路径:
相对某个参照物,不能以盘符开头
在eclipse中相对路径相对应当前项目的根目录
注意:删除一个文件夹,这个文件夹下面不能有其他的文件和文件夹
判断功能:
boolean exists();判断文件或者文件夹是否存在,如果存在返回true,否则返回false
boolean isAbsolute();判断File对象指向的路径是否是绝对路径,如果是绝对路径返回true,否则返回false
boolean isDirectory();判断File对象指向的路径是否是文件夹,如果是,返回true,否则返回false
boolean isFile();判断File对象指向的路径是否是文件,如果是返回true,否则返回false
boolean isHidden();判断FIle对象指向的路径是否有隐藏属性,如果隐藏了则返回true,否则返回false。
获取功能:
File getAbsoluteFile():以File对象的形式返回当前File对象所有指向的绝对路径
String getAbsolutePath():以字符串形式返回File对象所指向的绝对路径
String getParent():获取当前路径的父级路径,以字符串形式返回该父级路径
File getParentFile():获取当前路径的父级路径,以File对象形式返回该父级路径
String getName():获取文件或文件夹的名称
String getPath():获取File对象中封装的路径
long lastModified():以毫秒值返回最后修改时间
long length():返回文件的字节数
修改功能:
boolean renameTo(File dest):将当前File对象所指向的路径 修改为 指定File所指向的路径
注意:修改的文件路径不能存在,如果存在则修改失败。
File重要的获取功能:
String[] list():以字符串数组形式返回当前路径下所有的文件以及文件夹名称
File[] listFiles():以File对象数组的形式返回当前路径下所有的文件和文件夹的名称
注意:只有指向文件夹File对象才可以调用该方法
static File[] listRoots():获取计算机中所有的盘符
需求:输出指定目录下所有的java文件名(包含子目录)
IO流分类:
流向
输入流 读取数据 FileReader Reader
输出流 写出数据 FileWrider Writer
数据类型
字节流
字节输入流 读取数据 InputStream
字节输出流 写出数据 OutputStream
字符流
字符输入流 读取数据 Reader
字符输出流 写出数据 Writer
使用字符流复制文本文件:
数据源 IODemo.java
目的地 d:\\IODemo.java
分别使用字符流和字节流复制图片
二进制文件只能使用字节流进行复制(使用windows自带记事本打开读不懂的)
文本文件的复制即可使用字符流,也可以使用字节流
字节流对象:FileInputStream 和 FileOutputStream
使用字节流复制文本文件
数据源:
IODemo.java
目的地:
d:\\a\\IODemo.java
需求:将指定目录(包含内容)复制到另一目录中
源目录 目标目录
分析:
首先我们要获取源目录下所有的文件和子目录
我们可以把源目录封装成一个File对象
我们可以调用File类listFiles()方法
我们可以获取源目录下所有的文件和子目录所对应的File对象
如果我们获取到的文件,
先在目标目录中创建该文件所对应的目录
进行文件的复制。
如果我们获取到的是子目录,
看看子目录下面是否还有其他的文件和更深层的子目录
|
|