聊聊File类的常用方法

常用方法

这是目录结构图,下面的方法都是基于这张图的
聊聊File类的常用方法_第1张图片

getParent():得到父路径
public class DateDemo {
    public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
        File file = new File("E:"+File.separator+"abc"+File.separator+"a.txt");
        System.out.println(file.getParent());
    }
 }
getAbsolutePath():得到绝对路径
public class DateDemo {
    public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
        File file = new File("E:"+File.separator+"abc"+File.separator+"abc.txt");
        System.out.println(file.getAbsolutePath());
    }
}
E:\abc\abc.txt
listFiles():得到所有的子文件(包含目录)
public class DateDemo {
    public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
        File file = new File("E:"+File.separator+"abc");
        Arrays.stream(file.listFiles()).forEach(System.out::println);
    }
}
E:\abc\a
E:\abc\ab.txt
E:\abc\abc.txt
E:\abc\b
isDirectory():是否是一个目录
public class DateDemo {
    public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
        File file = new File("E:"+File.separator+"abc");
        System.out.println(file.isDirectory());
    }
}
true
isFile():是否是一个文件(.txt之类的格式)
public class DateDemo {
    public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
        File file = new File("E:"+File.separator+"abc");
        System.out.println(file.isFile());
    }
}
false
getName():得到文件的名字
public class DateDemo {
    public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
        File file = new File("E:"+File.separator+"abc");
        System.out.println(file.getName());
    }
createNewFile():创建新文件
public class DateDemo {
        public static void main(String[] args) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException, IOException {
            File file = new File("E:"+File.separator+"abc"+File.separator+"a.txt");
            if (!file.exists()){
                boolean newFile = file.createNewFile();
            }
        }
   }

分隔符 separator

在不同的操作系统环境下,文件路径的表示形式是不一样的,例如在Windows操作系统中一般的表示形式为C:\windows\system,而Unix上的表示形式为/user/my。所以如果需要让Java程序能够在不同的操作系统下运行,书写文件路径时还需要比较注意。

//File.separator根据操作系统不一样,判断不同的分隔符,安全性较高
File file = new File("E:"+File.separator+"abc"+File.separator+"abc.txt");
System.out.println(file.exists());
true

你可能感兴趣的:(IO,java)