2021-3-29-day01 Java-File类

Java-File类

1.简介

java.io.File是文件和目录路径名的抽象表示,主要删除线格式 用于文件和目录的创建、查找和删除等操作。

2.相关知识

(1)file文件 directory文件夹/目录 path路径
(2)路径分隔符:

  • Windows: “;”
  • Linux: “:”

文件名称分隔符:

  • Windows: “\”
  • Linux: “/”

因操作系统可能不同,操作路径不能写死: (File.separator)

 C:\develop\a\a.txt  windows
 C:/develop/a/a.txt  linux
"C:"+File.separator+"develop"+File.separator+"a"+File.separator+"a.txt"

(3)因"\“代表转义字符,两个”\\“代表一个”\"
(4)路径不区分大小写

3.构造方法

(1)public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。

String a = "D:\\aaa.txt";
File f = new File(a);

(2)public File(String parent, String child) :从父路径名字符串和子路径名字符串创建新的 File实例。

String parent = "d:\\aaa";
String child = "bbb.txt";
File file0 = new File(parent, child);

(3)public File(File parent, String child) :从父抽象路径名和子路径名字符串创建新的 File实例。

File parent0 = new File("d:\\aaa");
String child = "bbb.txt";
File file1 = new File(parent0, child);

将父子路径分开可方便对其分别修改!

4.常用方法

public String getAbsolutePath(): 返回此File的绝对路径名字符串(不论输入的是什么路径都返回绝对路径)
public String getPath(): 将此File转换为路径名字符串(输入什么路径输出什么路径)。
public String getName(): 返回由此File表示的文件或目录的名称(返回文件或目录)。
public long length(): 返回由此File表示的文件的长度(大小)。

File f = new File("d:/aaa/bbb.java");
System.out.println("文件绝对路径:"+f.getAbsolutePath());
System.out.println("文件构造路径:"+f.getPath());
System.out.println("文件名称:"+f.getName());
System.out.println("文件长度:"+f.length()+"字节");

5.判断方法

(1)public boolean exists():此File表示的文件或目录是否实际存在。
(2)public boolean isDirectory():此File表示的是否为目录。
(3)public boolean isFile():此File表示的是否为文件。
注:(2)、(3)在目录不存在时均为False!

6.创建与删除方法

public boolean createNewFile():当且仅当具有该名称的文件尚不存在时,创建一个新的空文件(创建前已存在会出现IOException异常)。
public boolean delete():删除由此File表示的文件或目录(删除文件夹时文件夹中有内容不会删除并返回False)。
public boolean mkdir():创建由此File表示的目录(只能创建单极空文件夹)。
public boolean mkdirs():创建由此File表示的目录,包括任何必需但不存在的父目录(可创建单级空、多级文件夹)。文件夹不存在:创建文件夹并返回True;文件夹已存在返回False;若路径不存在,不会抛出异常并且返回True但是不会创建。

================================
注:均需要调用java.io.IOException方法。

import java.io.File;
import java.io.IOException;

public class File1 {
    
    
    public static void main(String[] args) throws IOException {
    
    
// 文件的创建
        File f = new File("aaa.txt");
        System.out.println("是否存在:"+f.exists()); // false
        System.out.println("是否创建:"+f.createNewFile()); // true
        System.out.println("是否存在:"+f.exists()); // true
// 目录的创建
        File f2= new File("newDir");
        System.out.println("是否存在:"+f2.exists());// false
        System.out.println("是否创建:"+f2.mkdir()); // true
        System.out.println("是否存在:"+f2.exists());// true
// 创建多级目录
        File f3= new File("newDira\\newDirb");
        System.out.println(f3.mkdir());// false
        File f4= new File("newDira\\newDirb");
        System.out.println(f4.mkdirs());// true
// 文件的删除
        System.out.println(f.delete());// true
// 目录的删除
        System.out.println(f2.delete());// true
        System.out.println(f4.delete());// false

    }
}

7.遍历方法

public String[] list():返回一个String数组,表示该File目录中的所有子文件或目录。
public File[] listFiles():返回一个File数组,表示该File目录中的所有的子文件或目录(封装为File类并储存在数组中,只要拿到了File对象,那么就可以进行更多操作)。

File dir = new File("d:\\java_code");
String[] names = dir.list();
for(String name : names){
    
    
System.out.println(name);
}
==========================================================
File[] files = dir.listFiles();
for (File file : files) {
    
    
System.out.println(file);
}

猜你喜欢

转载自blog.csdn.net/mvx01/article/details/115275740
今日推荐