1.File类是对文件进行处理的类
File类是IO流的基础,因为IO就得输入和输出都要用文件进行读取或者输出,
三种新建文件的方法
public File(String pathname):表示pathname的抽象路径表现的形式 (开发中使用这种方式)
public File(String parent,String child)根据 parent路径名字符串和 child路径名字符串创建一个新 File实例
public File(File parent, String child):根据一个file对象和一个文件路径来构造File实例
跟创建相关的功能:public boolean createNewFile():创建文件,当文件不存在的时候,创建此抽象路径下的文件
public boolean mkdir():创建一个文件夹,如果文件夹存在,不创建
public boolean mkdirs():创建文件夹,如果父目录不存在,会创建此目录
删除功能
public boolean delete() :删除文件或者文件夹(目录不能是空的) :逐一删除文件或者目录的
public static void main(String[] args) throws IOException {
//创建文件夹
//直接建立该路径下的文件
File f= new File("D:\\f\\a.txt") ;
//将要建立的文件和路径分开写后直接建立
File f2=new File("D:\\f", "c.txt");
//先建立f3路径文件夹,再建立该路径下的文件
//好处:文件路径可以循环利用
File f3=new File("D:\\f");
File f4=new File(f3,"abc.txt");
//File相关功能
// public boolean createNewFile():创建文件,当文件不存在的时候,创建此抽象路径下的文件
System.out.println(f.createNewFile());
//当返回ture时表示文件存在,则不建立,当返回float时则文件不存在,则建立文件
// public boolean mkdir():创建一个文件夹,如果文件夹存在,不创建
File f5=new File("D:\\abc");
System.out.println(f5.mkdir());
//当返回ture时表示文件夹存在,则不建立,当返回float时则文件夹不存在,则建立文件夹
File f6=new File("D:\\a\\efg\\123");
System.out.println(f6.mkdirs());
1.mkdirs可以创建指定目录以及所有的父目录,创建此抽象路径名指定的目录,包括所有必需但不存在的父目录也就是可以在不存在的目录中创建文件夹。
2.mkdir创建此抽象路径名指定的目录,也就是只能在已经存在的目录中创建创建文件夹。
结论:mkdirs()可以建立多级文件夹,mkdir()只会建立一级的文件夹
删除功能实现
//public boolean delete() :删除文件或者文件夹(目录不能是空的) :逐一删除文件或者目录的
File f7=new File("D:\\aaa\\bbb\\ccc\\ddd");
//建立f7的多层文件夹
System.out.println(f7.mkdirs());
//在多层路径下建立txt文件
File f8=new File(f7,"a.txt");
System.out.println(f8.createNewFile());
//因为mkdirs和mkdir方法都是建立文件夹的方法,不能通过路径来建立文件
//所以在多层路径下建立文件,只能先建立多层文件,后再该路径下用createNewFile()建立文件
System.out.println(f8.delete());
//删除了文件
System.out.println(f7.delete());
//删除了ddd文件夹(delete时向上逐一删除)
file的功能
File类的判断功能
public boolean isDirectory():判断是否是文件夹
public boolean isFile() :判断是否是文件
public boolean canRead(): 是否可读
public boolean canWriter():是否可写
public boolean exists() :是否存在
public boolean isHidden():是否是隐藏文件
File类的获取功能:
public String getAbsolutePath():获取抽象文件的绝对路径
public String getPath():获取相对路径的字符串
public String getName()返回由此抽象路径名表示的文件或目录的名称
public long length()返回由此抽象路径名表示的文件的长度。
public long lastModified():文件最后一次被修改的时间(时间毫秒值)
//的重命名功能: boolean renameTo(File dest)重新命名此抽象路径名表示的文件。
//建立需要命名的对象
File f=new File("D:\\aaaaa.txt");
System.out.println(f.createNewFile());
//建立新的名字
File f1=new File("D:\\123.txt");
System.out.println(f.renameTo(f1));
//重新命名为123.txt
System.out.println("--------------");
//File类的判断功能
//public boolean isDirectory():判断是否是文件夹
System.out.println(f1.isDirectory());//false
//public boolean isFile() :判断是否是文件
System.out.println(f1.isFile());//ture
//public boolean canRead(): 是否可读
System.out.println(f1.canRead());//ture
//public boolean canWriter():是否可写
System.out.println(f1.canWrite());//ture
//public boolean exists() :是否存在
System.out.println(f1.exists());//ture
//public boolean isHidden():是否是隐藏文件
System.out.println(f1.isHidden());//false
//File类的获取功能:
// public String getAbsolutePath():获取抽象文件的绝对路径
System.out.println(f1.getAbsolutePath());
// public String getPath():获取相对路径的字符串
System.out.println(f1.getPath());
// public String getName()返回由此抽象路径名表示的文件或目录的名称
System.out.println(f1.getName());
// public long length()返回由此抽象路径名表示的文件的长度。
System.out.println(f1.length());
// public long lastModified():文件最后一次被修改的时间(时间毫秒值)
System.out.println(f1.lastModified());