File类:File文件和目录路径名的抽象表示形式;
一、字段摘要(静态的)
pathSeparator 与系统有关的路径分隔符,为了方便,它被表示为一个字符串。windos 里是; linux 是 :(String)
pathSeparatorChar 与系统有关的路径分隔符。(char)
separator 与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。\(string)
separatorChar 与系统有关的默认名称分隔符。(char)
// 与系统有关的路径分隔符 // win ; linux :
System.out.println(File.pathSeparator); System.out.println(File.pathSeparatorChar); // 与系统有关的名称分隔符 System.out.println(File.separator); System.out.println(File.separatorChar);
二、 构造方法:(注意:不能判定改路径表示的文件是否存在)
1.File(String pathname) 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
2.File(String parent, String child) 根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。(好处:父路径下有很多文件 子路径传)
3.File(File parent, String child)根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。(好处:灵活利用父路径的方法)
public static void method02(){
//封住路径b 注意:不能判定改路径表示的文件是否存在
File file=new File("D:\\demo1018\\b.txt");
System.out.println(file);
//封住file对象 分开增加灵活性
File file2=new File("D:\\demo1018","a.txt");
System.out.println(file2);
//封住file对象 灵活利用父路径的方法
File file3=new File(new File("D:\\demo1018"),"a.txt");
System.out.println(file3);
}
三、 获取文件信息
1. getAbsolutePath()获取绝对路径 返回值是String 注意:当不是绝对路径时 拼接eclipse 绝对路径
2.getName()获取文件名 返回值是String
3.获取路径 getPath() 返回值是String
4.length()获取文件的大小 单位是字节 返回值是long整形
public static void method03(){
//获取file类对象的绝对路径
File file=new File("D:\\demo1018\\a.txt");
String abpath=file.getAbsolutePath();
System.out.println(abpath);
//获取文件名
String fileName=file.getName();
System.out.println(fileName);
//获取路径
String filePath=file.getPath();
System.out.println(filePath);
//获取文件的大小 单位是字节 返回值是long整形
System.out.println(file.length());
}
四、操作 创建、删除文件 返回值是 Boolean
1.createNewFile() 创建文件 注意如果文件存在不覆盖,不存在则创建 只能创建文件 不能创建文件夹
2.delete()删除文件和文件夹
3.mkdir() mkdir() 创建文件夹不能创建文件 注意mkdir()只能创建一级目录 mkdirs()可创建多级目录
4.exists()判断文件或文件夹是否存在
5.isDirectory() 判断是否是文件夹
5.isFile()判断是否是文件
public static void method04() throws IOException{
File file=new File("D:\\demo1018\\c");
//创建文件 注意如果文件存在不覆盖,不存在则创建
//file.createNewFile();
//判断file对象封装的文件或文件夹是否存在
//System.out.println(file.exists());
//删除文件
//file.delete();
//创建文件夹不能创建文件 注意mkdir()只能创建一级目录 mkdirs()可创建多级目录
//file.mkdirs();
//判断是否是文件夹
//System.out.println(file.isDirectory());
//判断是否是文件
//System.out.println(file.isFile());
}
五、listFiles()方法
list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
listFiles() 返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
注意:在获取指定目录下的文件或者文件夹时必须满足下面两个条件
1,指定的目录必须是存在的,
2,指定的必须是目录。否则容易引发返回数组为null,出现NullPointerException
public static void method05() throws IOException{
File file=new File("D:\\demo1018");
//获取路径下的所有文件和文件夹下的String[]
String[] files=file.list();
/*//遍历
for (String s: files) {
System.out.println(s);
}*/
//获取路径下的所有文件和文件夹Files[]
File[] files1=file.listFiles();
//遍历
for (File s: files1) {
System.out.println(s);
System.out.println(s.length());
}
}
六、
原文:https://www.cnblogs.com/zqy6666/p/12290214.html