-
构造方法
file(String path)创建一个路径为path的file对象
file(String path1,String path2)创建一个路径为path1和path2拼接起来的file对象
file(File file1,String path2)创建一个路径为file1和path2拼接起来的file对象
public class Demo01 {
public static void main(String[] args) throws IOException {
//File 类三种构造方法
File f1 = new File("D:\\javaproject\\Java Exercises\\sc");
File f2 = new File("D:\\javaproject\\Java Exercises", "sc");
File f3 = new File(f1,"docu");
System.out.println(f1);
System.out.println(f2);
System.out.println(f3);
运行结果:
D:\javaproject\Java Exercises\sc
D:\javaproject\Java Exercises\sc //路径为参数中两个String型相对路径的拼接
D:\javaproject\Java Exercises\sc\docu //路径为参数路径为file型路径和String型路径拼接
创建文件
createNewFile():创建一个对应路径的文件
//创建文件对象
File f4 = new File(f1,"a.txt"); //a.txt
File f5 = new File("D:\\javaproject\\Java Exercises\\sc\\b.java");//b.java
//文件对象调用creatNewFile()创建文件
boolean c1 = f4.createNewFile();
boolean c2 = f5.createNewFile();
System.out.println(c1);//打印结果为true即表示文件创建成功
System.out.println(c2);//打印结果为true即表示文件创建成功
创建文件夹
mkdir():创建单级文件夹
mkdirs():创建多级文件夹
第一步:创建文件夹对象
第二步:调用mkdir()创建单级文件夹;调用mkdirs()创建多级文件夹
//创建单级文件夹 mkdir()
File f6 = new File("D:\\javaproject\\Java Exercises\\AAA");//先创建文件夹的file对象
boolean wjj = f6.mkdir(); //file对象调用mkdir()创建文件夹
System.out.println(wjj); //打印结果为true即文件夹创建成功
//创建多级文件夹 mkdirs
File f7 = new File("AAA\\bbb\\ccc");//先创建文件夹的file对象
boolean wjj2 = f7.mkdirs(); //file对象调用mkdirs()创建多级文件夹
System.out.println(wjj2); //打印结果为true即文件夹创建成功
创建文件夹时要保证创建的文件夹不存在,无法创建已存在的文件夹
删除文件
delete():删除文件或文件夹
删除文件:
File fa = new File("sc\\a.txt");//创建要删除文件的对象
boolean delete = fa.delete();//文件对象调用delete()删除文件
System.out.println(delete);//打印结果为true,删除成功
删除文件夹:
File fs = new File("sc2"); //创建要删除文件夹的对象
boolean delete2 = fs.delete();//文件对象调用delete()删除文件夹
System.out.println(delete2); //打印结果为true,删除成功
删除的文件夹必须是空文件夹,删除后的文件夹不会经过回收站,无法恢复
重命名文件或文件夹
先创建原文件和重命名后的文件的file对象,然后调用renameTo(File file)方法,方法参数是重命名后文件的对象
重命名时注意不能和文件夹中已有的文件重名,否则重命名失败
在同一个文件夹内重命名:
File f1 = new File("AAA\\bbb\\ccc");//原文件夹路径
File f2 = new File("AAA\\bbb\\ddd");//重命名后文件夹路径
boolean renameTo = f1.renameTo(f2);//调用renameTo()
System.out.println(renameTo); //打印结果为true重命名成功
在不同文件夹中重命名相当于剪切:
File f3 = new File("sc\\docu");//原文件夹路径
File f4 = new File("AAA\\TTT");//重命名后文件夹路径
boolean renameTo2 = f3.renameTo(f4);//调用renameTo()
System.out.println(renameTo2);//打印结果为true重命名成功
重命名文件示例:
File f5 = new File("sc\\b.java");
File f6 = new File("sc\\a.java");
boolean renameTo3 = f5.renameTo(f6);
System.out.println(renameTo3);
判断方法
exists():判断调用该方法的对象对应的文件或文件夹是否在磁盘中存在
isFile():判断调用该方法的对象对应的文件是不是文件
isDirectory():判断调用该方法的对象对应的文件是不是文件夹
//判断文件是否存在
File f1 = new File("sc\\a.java");//创建文件对象
File f2 = new File("sc"); //创建一个文件夹对象
boolean exists = f1.exists(); //调用exists()方法判断是否存在
System.out.println(exists); //打印结果为true即文件存在
//判断是否是文件
boolean file = f1.isFile();
boolean file2 = f2.isFile();
System.out.println(file); //f1是文件对象打印结果为true即是文件
System.out.println(file2); //f2是文件夹对象打印结果是false即不是文件
//判断是否是文件夹
boolean file3 = f1.isDirectory();
boolean file4 = f2.isDirectory();
System.out.println(file3); //f1是文件对象打印结果为false即不是文件夹
System.out.println(file4); //f2是文件夹对象打印结果是true即是文件夹
获取方法
getAbsolutePath():获取对应文件的绝对路径
getPath():获取对应文件对象构造方法路面的路径
getName():获取文件的名称
length():获取文件大小(字节个数 英文每个字符一个字节,中文字符两个字节)
//创建文件对象
File f1 = new File("sc");
File f2 = new File("AAA\\bbb\\ddd");
File f3 = new File("sc\\a.java");
//调用相关方法
File absoluteFile = f1.getAbsoluteFile();
String path = f2.getPath();
String name = f3.getName();
long length = f3.length();
//打印结果
System.out.println(absoluteFile);//打印出文件绝对路径 D:\javaproject\Java Exercises\sc
System.out.println(path); // 打印出文件对象构造方法中的路径 AAA\bbb\ddd
System.out.println(name); //a.java 打印出文件的名字
System.out.println(length); //8 打印出文件的大小(文件内容问“你好java”共8字节
length()方法文件夹一般不会调用,文件夹大小有其中的文件大小决定
中文字符占两个字节,英文字符占一个字节
文件夹专用方法
String [] list():获取文件夹中所有文件的文件名到数组中
File [] listFiles():获取文件夹中所有文件的文件路径到数组中
File f4 = new File("D:\\javaproject\\sucai"); //创建一个文件夹对象f4
String[] list = f4.list();
File[] listFiles = f4.listFiles();
System.out.println(Arrays.toString(list));
// 打印结果:[a.txt, Info.txt]。 打印出文件夹中文件的名字到数组中
System.out.println(Arrays.toString(listFiles));
//打印结果:[D:\javaproject\sucai\a.txt, D:\javaproject\sucai\Info.txt]。 打印出文件夹中文件的路径到数组中