File
File类概述和构造方法
File:他是文件和目录路径的抽象表示
- 文件和目录可以通过File封装成对象
- 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已,他可以是存在的,也可以是不存在的,将来要是通过具体的操作把这个路径内容转换成具体存在的
File有4个构造方法
主要说明3个构造方法
方法名 | 说明 |
File(String pathname) | 通过将给定的路径名字符串转换为抽象路径名来创建新的File实例 |
File(String parent , String child) | 从父路径名字符串和子路径名字符串创建新的File实例 |
File(File parent , String child) | 从父抽象路径名和子路径名字符串创建新的File实例 |
三种构造方法实现的都是一样的
package com.junbao.demo1.io;
import java.io.File;
/**
* author : Majunbao
* github : https://github.com/MaJunBaox
* time : 2021/10/2 2:45 AM
* desc : io流 File
*/
public class Test {
public static void main(String[] args) {
//第一种个构造方法
//File(String pathname) 传入的事字符串全路径
File f1 = new File("E://nideyida//java.txt");
System.out.println(f1);
//第二种构造方法
//File(String parent , String child) 第一个参数是父路径 ,第二个参数是子路径 ,两个
//拼接成一个全路径
File f2 = new File("E://nideyida", "//java.txt");
System.out.println(f2);
//第三种构造方法
//File(File parent , String child) 第一个参数是一个File ,第二个参数是路径 ,把第
//一个File参数 拼接 第二个参数 ,合并成一个全路径
File f3 = new File("E://nideyida");
File f4 = new File(f3, "//java.txt");
System.out.println(f4);
}
}
File类的创建功能
方法 | 说明 |
createNewFile() | 当具有该名称文件不存在是,创建一个改抽象路径名命名的新空文件 |
mkdir() | 创建由此抽象路径名命名的路径 |
mkdirs() | 创建由此抽象路径命名的目录,包括任何必须但不存在的父目录(创建多级目录 ,父目录没有就创建父目录 ) |
package com.junbao.demo1.io;
import java.io.File;
import java.io.IOException;
/**
* author : Majunbao
* github : https://github.com/MaJunBaox
* time : 2021/10/2 2:45 AM
* desc : io流 File
*/
public class Test {
public static void main(String[] args) throws IOException {
//需求1:在/Users/yunhailan/nideyidaa目录下创建java.txt文件 我是mac 所以路径是这样的
File f1 = new File("/Users/yunhailan/nideyidaa/java.txt");
//输出true 代表文件不存在 创建成功 , 如果文件存在 则会返回false
System.out.println(f1.createNewFile());
//需求2::在/Users/yunhailan目录下创建一个目录nideyidaa2
File f2 = new File("/Users/yunhailan/nideyidaa2");
//输出true 代表文件夹不存在 创建成功 , 如果文件夹存在 则 返回false
System.out.println(f2.mkdir());
}
}
-
createNewFile() 创建文件 ,如果文件存在返回false ,不存在 创建 返回true
-
mkdir() 创建文件夹 ,如果文件夹存在返回false ,不存在 创建 返回true
-
mkdirs() 创建多级文件夹 ,如果文件夹存在返回false ,不存在 创建 返回true
-
isDirectory()是否是文件目录 是true 不是 false
-
isFile()是否是文件 是true 不是 false
-
exists()文件是否存在 存在 true 不存在 false
-
getAbsolutePath() 返回当前文件的绝对路径
-
getPath()返回当前文件的路径名字符串
-
getName()返回当前文件的文件名
-
list()获取当前路径下的文件目录 和 文件名称 字符串 数组
-
listFiles()获取当前目录下的文件 和 目录 的 File对象的数组
package com.junbao.demo1.io;
import java.io.File;
import java.io.IOException;
/**
* author : Majunbao
* github : https://github.com/MaJunBaox
* time : 2021/10/11 11:04 PM
* desc : File常见方法
*/
public class FileDemo1 {
public static void main(String[] args) {
File f1 = new File("/Users/yunhailan/nideyidaa/java.txt");
//是否是文件目录 输出false
System.out.println(f1.isDirectory());
//是否是文件 输出true
System.out.println(f1.isFile());
//文件是否存在 输出true
System.out.println(f1.exists());
//绝对路径
System.out.println(f1.getAbsolutePath());
//路径名 字符串
System.out.println(f1.getPath());
//文件名称
System.out.println(f1.getName());
System.out.println("==================");
File f2 = new File("/Users/yunhailan/nideyidaa/java2.txt");
try {
f2.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
File f3 = new File("/Users/yunhailan/nideyidaa");
//获取当前路径下的文件目录 和 文件名称 字符串 数组
String[] list = f3.list();
for (String str : list) {
System.out.println(str);
}
//获取当前目录下的文件 和 目录 的 File对象的数组
File[] files = f3.listFiles();
for (File file : files) {
System.out.println(file);
}
}
}
ps:有空再补充把 累了