注意:创建文件对象不写入任何内容,关闭了文件对象就没了(没有在磁盘上创建文件,所以程序运行后本地电脑上没有显示),但是如果创建的文件对象后写入数据,则会在磁盘上创建文件并保存下来。
File类:
1.构造方法:
函数 | 说明 |
File(File parent, String child) | 根据父目录 + 孩子文件路径,创建一个新的 File 实例 |
File(String pathname) | 根据文件路径创建一个新的 File 实例,路径可以是绝对路径或者 相对路径 |
File(String parent, String child) | 根据父目录 + 孩子文件路径,创建一个新的 File 实例,父目录用 路径表示 |
public class File_Demo {
public static void main(String[] args) {
//根据文件路径创建一个新的 File 实例,路径可以是绝对路径或者相对路径
File file = new File("E:/temp");
System.out.println(file);
//根据父目录 + 孩子文件路径,创建一个新的 File 实例
File file1 = new File(file, "test\\hello.txt");
System.out.println(file1);
//根据父目录 + 孩子文件路径,创建一个新的 File 实例,父目录用路径表示
File file2 = new File("E:/temp", "test/hello.txt");
System.out.println(file2);
}
}
2.其他常用方法:
修饰符及返回值类型 | 方法签名 | 说明 |
String | getParent() | 返回 File 对象的父目录文件路径 |
String | getName() | 返回 FIle 对象的纯文件名称 |
String | getPath() | 返回 File 对象的文件路径 |
String | getAbsolutePath() | 返回 File 对象的绝对路径 |
String | getCanonicalPath() | 返回 File 对象的修饰过的绝对路径 |
import java.io.File;
import java.io.IOException;
public class File_Demo02 {
public static void main(String[] args) throws IOException {
System.out.println("-------用绝对路径创建文件:-------");
//用绝对路径创建文件
File file = new File("E:\\temp\\temp\\test.txt");
//返回 File 对象的父目录文件路径
System.out.println("父目录文件路径:"+file.getParent());
//返回 FIle 对象的纯文件名称
System.out.println("对象的纯文件名称:"+file.getName());
//返回 File 对象的文件路径
System.out.println("对象的文件路径:"+file.getPath());
//返回 File 对象的绝对路径
System.out.println("对象的绝对路径:"+file.getAbsolutePath());
//返回 File 对象的修饰过的绝对路径
System.out.println("修饰过的绝对路径:"+file.getCanonicalPath());
System.out.println("-------用相对对路径创建文件:-------");
//用相对路径创建文件
file = new File(".\\test.txt");
//返回 File 对象的父目录文件路径
System.out.println("父目录文件路径:"+file.getParent());
//返回 FIle 对象的纯文件名称
System.out.println("对象的纯文件名称:"+file.getName());
//返回 File 对象的文件路径
System.out.println("对象的文件路径:"+file.getPath());
//返回 File 对象的绝对路径
System.out.println("对象的绝对路径:"+file.getAbsolutePath());
//返回 File 对象的修饰过的绝对路径
System.out.println("修饰过的绝对路径:"+file.getCanonicalPath());
}
}
修饰符及返回值类型 | 方法签名 | 说明 |
boolean | exists() | 判断 File 对象描述的文件是否真实存在 |
boolean | isDirectory() | 判断 File 对象代表的文件是否是一个目录 |
boolean | isFile() | 判断File对象代表的文件是否是一个普通文件 |
boolean | createNewFile() | 根据File对象,自动创建一个空文件,成功后返回true |
import java.io.File;
import java.io.IOException;
public class File_Is {
public static void main(String[] args) throws IOException {
File file = new File("E:\\temp\\test.txt");
//判断 File 对象描述的文件是否真实存在
System.out.println("判断 File 对象描述的文件是否真实存在:"+file.exists());
//判断 File 对象代表的文件是否是一个目录
System.out.println("判断 File 对象代表的文件是否是一个目录:"+file.isDirectory());
//判断File对象代表的文件是否是一个普通文件
System.out.println("判断File对象代表的文件是否是一个普通文件:"+file.isFile());
System.out.println("----------------------");
//根据File对象,自动创建一个空文件,成功后返回true
System.out.println("根据File对象,自动创建一个真实存在的空文件:"+file.createNewFile());
//判断 File 对象描述的文件是否真实存在
System.out.println("判断 File 对象描述的文件是否真实存在:"+file.exists());
//判断 File 对象代表的文件是否是一个目录
System.out.println("判断 File 对象代表的文件是否是一个目录:"+file.isDirectory());
//判断File对象代表的文件是否是一个普通文件
System.out.println("判断File对象代表的文件是否是一个普通文件:"+file.isFile());
}
}
修饰符及返回值类型 | 方法签名 | 说明 |
boolean | delete() | 根据File对象,删除文件,成功返回true |
void | deleteOnExit() | 根据File对象标注文件将被删除,删除动作会到JVM运行结束时才会进行 |
import java.io.File;
public class File_Delete {
public static void main(String[] args) {
File file = new File("E:\\temp\\test.txt");
if(file.exists()){
System.out.println("删除:"+file.delete());
}
}
}
修饰符及返回值类型 | 方法签名 | 说明 |
String[] | list() | 返回File对象代表的目录下的文件名 |
File[] | listFiles() | 返回File对象代表的目录下的所有文件,以File对心表示 |
import java.io.File;
import java.util.Arrays;
public class File_list {
public static void main(String[] args) {
// 创建文件对象
File file = new File("E:/temp");
// 获取所有文件信息
String[] list = file.list();
System.out.println("文件名和目录名String: "+ Arrays.toString(list));
// 获取所有文件信息
File[] files = file.listFiles();
System.out.println("文件名和目录名File: "+Arrays.toString(files));
}
}
修饰符及返回值类型 | 方法签名 | 说明 |
boolean | mkdir() | 创建File对象代表的目录 |
boolean | mkdirs() | 创建File对象代表的目录,如果必要会创建中间目录 |
import java.io.File;
public class File_mk {
public static void main(String[] args) {
// 创建File对象
File file = new File("E:/temp/temp1");
// 创建目录
System.out.println("创建目录:" + file.mkdir());
System.out.println("--------------------------------");
// 创建File对象
File file1 = new File("E:/temp/temp0/temp2/temp3/temp4");
// 创建目录
System.out.println("创建多级目录:" + file1.mkdirs());
}
}
修饰符及返回值类型 | 方法签名 | 说明 |
boolean | renameTo(File dest) | 进行文件改名,也可以视为剪切粘贴操作 |
import java.io.File;
public class File_rename {
public static void main(String[] args) {
// 创建文件对象
File sourceFile = new File("E:/temp/test1.txt");
File targetFile = new File("E:/temp/test.txt");
// 重命名
System.out.println("重命名" + sourceFile.renameTo(targetFile));
}
}
修饰符及返回值类型 | 方法签名 | 说明 |
boolean | canRead() | 判断用户是否对文件有读权限 |
boolean | canWrite() | 判断用户是否对文件有写权限 |
import java.io.File;
public class File_WR {
public static void main(String[] args) {
File file = new File("E:/temp/test.txt");
System.out.println("是否可读: " + file.canRead());
System.out.println("是否可写: " + file.canWrite());
}
}