-
File对象就表示一个路径,可以是文件的路径,也可以是文件夹的路径
-
这个路径可以是存在的,也可以是不存在的。
package MyFile;import java.io.File;public class FileDemo01 {public static void main(String[] args) {//1.根据文件路径创建对象String str = "F:\\File\\a.txt";File f1=new File(str);System.out.println(f1);//2.String parent="F:\\File";String child="a.txt";File f2=new File(parent,child);System.out.println(f2);File f3=new File(parent+"\\"+child);System.out.println(f3);//3.把一个File表示的路径和String表示路径进行拼接File parent2=new File("F:\\File");File child2=new File("a.txt");File F4=new File(parent2, String.valueOf(child2));System.out.println(F4);}
}
判断和获取方法
package MyFile;import java.io.File;public class FileDemo03 {public static void main(String[] args) {//1.对一个文件的路径进行判断File f1=new File("F:\\File\\a.txt");System.out.println(f1.isDirectory());System.out.println(f1.isFile());System.out.println(f1.exists());//2.对一个文件夹的路径进行判断File f2=new File("F:\\File\\bbb");System.out.println(f2.isDirectory());System.out.println(f2.isFile());System.out.println(f2.exists());//3.对一个不存在的文件路径进行判断File f3=new File("F:\\File\\c.txt");System.out.println(f3.isDirectory());System.out.println(f3.isFile());System.out.println(f3.exists());}
}
package MyFile;import java.io.File;public class FileDemo02 {public static void main(String[] args) {
//1.length返回文件的大小(字节数量)//只能获取文件的大小,单位是字节//这个方法无法获取文件夹的大小//如果要获取一个文件夹的大小,需要把这个文件夹里面的所有文件大小都累加在一起File f1=new File("F:\\File\\a.txt");long length = f1.length();System.out.println(length);File f2=new File("F:\\File\\aaa");long length1 = f2.length();System.out.println(length1);System.out.println("---------------");//获取文件的绝对路径File f3=new File("F:\\File\\a.txt");String path = f3.getAbsolutePath();System.out.println(path);
File f4=new File("MyFile\\a.txt");String path1 = f4.getAbsolutePath();System.out.println(path1);System.out.println("-----------");//返回定义文件夹时使用的路径File f5=new File("F:\\File\\a.txt");String path2 = f3.getPath();System.out.println(path);File f6=new File("MyFile\\a.txt");String path3 = f4.getPath();System.out.println(path1);System.out.println("-----------");//获取名字//细节1:调用者是文件会返回文件的名字加后缀//细节2:调用者是文件夹会返回文件夹的名字File f7=new File("F:\\File\\a.txt");String name = f7.getName();System.out.println(name);File f8=new File("F:\\File\\bbb");String name1 = f8.getName();System.out.println(name);System.out.println("---------------");//返回文件最后的修改时间(时间毫秒值)File f9=new File("F:\\File\\a.txt");long time = f9.lastModified();System.out.println(time);}
}
创建和删除方法
package MyFile;import java.io.File;
import java.io.IOException;public class FileDemo04 {public static void main(String[] args) throws IOException {//1.创建一个新的空的文件//细节1:如果当前路径表示的文件是不存在的,则创建成功返回true//如果当前路径表示的文件是存在的,则创建失败,方法返回false//细节2:如果父级路径是不存在的,那么方法会有异常IOException//细节3:createNewFile方法创建的一定是文件,如果路径中不包含后缀名,则创建一个没有后缀的文件File f1= new File("F:\\File\\c.txt ");boolean newFile = f1.createNewFile();System.out.println(newFile);//创建单机文件夹//细节:路径是唯一的,如果当前路径已经存在则创建失败,返回false//细节2:mkdir只能创建单级文件夹File f2=new File("F:\\aaa\\ddd");boolean mkdir = f2.mkdir();System.out.println(mkdir);//创建多级文件夹//细节1:既可以创建单级的也可以创建多级的文件夹File f3=new File("F:\\aaa\\ddd\\ccc");boolean mkdirs = f2.mkdirs();System.out.println(mkdirs);}
}
delete方法默认只能删除文件和空文件夹,delete方法直接删除不走回收站。
package MyFile;
import java.io.File;
public class FileDemo05 {public static void main(String[] args) {//如果删除的是文件,则直接删除不走回收站//如果删除掉的是空文件夹,则直接删除,不走回收站//如果删除的是有内容的文件夹,则删除失败File f1=new File("F:\\a.txt");boolean b = f1.delete();System.out.println(b);}
}
获取 并遍历
package MyFile;import java.io.File;public class FileDemo06 {public static void main(String[] args) {File f1=new File("F:\\aaa");File[] files = f1.listFiles();for (File file : files) {System.out.println(file);}}
}
-
当调用者File表示的路径不存在时,返回null
-
当调用者File表示的路径是文件时,返回null
-
当调用者File表示的路径是空文件夹时,返回一个长度为0的数组
-
当调用者File表示的路径是一个有内容的文件夹时,将里面的所有文件夹和文件的路径放在File数组中返回。
-
当调用者File表示的路径是一个有隐藏文件的文件夹时,将里面的所有文件夹和文件的路径放在File数组中返回,包含隐藏文件夹。
-
当调用者File表示的路径需要权限才能访问的文件夹时,返回null