46-10File类

87 阅读3分钟
文件: 用file  文件夹/目录: 用directory表示   路径/地址: 用path表示
windows系统中,文件/文件夹的路径中有\,但是在java中要表示\需要写\\
pathSeparator: 多个路径之间的分隔符号 它被表示为一个字符串。
separator: 一个路径中多个名称之间的分隔符号  
File类的构造方法 可以表示文件或者文件夹,可以存在,也可以不存在 
	File(String pathname) 参数:String类型的路径 
	File(String parent, String child)
    	参数: parent:String类型的父路径 child:String类型的子路径
       
	File(File parent, String child)
    	参数:  parent:File类型的父路径 	child:String类型的子路径
File类的获取方法
	public String getAbsolutePath() :返回此File的绝对路径名字符串。
	public String getPath() :将此File转换为路径名字符串(构造方法路径)。
	public String getName() :返回由此File表示的文件或目录的名称。
    	路径名中最后一个分隔符后面的内容
	public long length() :返回由此File表示的文件的长度。
    	文件中的字节数 文件为空: 返回0 文件不存在: 返回0
	public File getParentFile():
    	返回由此File表示的文件或目录的父目录,如果没有父目录   绝对路径和相对路径 
    相对路径: 都有一个参照物,相对于谁,就以谁为参照物相对路径: day10\io\ab\a.txt
        IDEA中文件路径都是以项目根路径作为参数物(省略不写)
        IDEA中相对路径写法: 从模块名称开始向后写         
  File类的判断方法
	public boolean exists() : 
	public boolean isDirectory() :此File表示的是否为目录。  
	public boolean isFile() :此File表示的是否为文件。 
    文件已经存在: 不创建     返回 false
    	文件不存在: 成功: true 失败: false
	public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。 
    mkdirs()可以创建多级文件夹(包含一级) 
    delete() :删除由此File表示的文件或目录,java中删除动作不走回收站。
    	可以删除文件:  不存在: false 
   遍历       
   public String[] list() :获取当前目录下的所有的目录和文件的字符串的名字 
   public File[] listFiles() :获取当前目录下的所有的目录和文件的File对象         
public class Demo01File {
    public static void main(String[] args) {
        String path = "E:\\io\\a\\b\\c\\abc.txt";
        System.out.println(path);
        System.out.println("-----------------");

        String pathSeparator = File.pathSeparator;
        System.out.println(pathSeparator);

        String separator = File.separator;
        System.out.println(separator);

        System.out.println("-----------------");

        String path2 = "E:"+separator+"io"+separator+"a"+separator+"b"+separator+"c"+separator+"abc.txt";
        System.out.println(path2);
    }
}
public class Demo02FileConstructor {
    public static void main(String[] args) {
     /创建File对象,代表存在的文件
        //把路径分成2部分(String),前面的叫做父路径,后面的叫做子路径
        File f3 = new File("D:\\projects\\javaee", "day10\\io\\ab\\a.txt"); 
        File parent = new File("D:\\projects\\javaee"); 
        ---------------
        File dir3 = new File(parent, "day10\\io\\abc");
        System.out.println(dir3);
    }
}
public class Demo03FileEach {
    public static void main(String[] args) {
        //创建File对象,代表存在的文件夹
        File dir = new File("day10\\io");
        File[] files = dir.listFiles(); 
        //增强for遍历
        for (File file : files) {
            if(file.isDirectory()) {
                //文件夹
                System.out.println("文件夹: "+file.getName());
            } else {
                //文件
                System.out.println("文件 : "+file.getName()+", 大小: "+file.length());
            }
        }
    }
}