①文件和目录路径名的抽象表示形式;
②主要用于文件和目录的创建,查找,删除等操作;
对文件/文件夹进行创建、删除、获取、判断是否存在、遍历、获取文件大小等;
File类是一个与系统无关的类,任何操作系统都可以使用这个类的方法;
file:文件
directory:文件夹
path:路径
与系统有关的路径分隔符,为了方便,它被表示为一个字符串。
与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串
//备注:名称分隔符和路径分隔符在不同的系统中是不一样的
//名称分隔符:Windows系统是\,Linux系统是/
//路径分隔符:Windows系统是;,Linux系统是:
System.out.println(File.separator);//\
System.out.println(File.pathSeparator);//;
以盘符开始的路径,是一个完整的路径;
相对于当前项目的根目录,简化后的路径;
①路径不区分大小写;
②路径中的名称分隔符在Windows系统中用\,要用转义字符,即\\;
通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例;
①String pathname是文件或文件夹的路径;
②可以是相对路径,也可以是绝对路径;
③可以是已存在的,也可以是不存在的;
package study.file;
import java.io.File;
public class Test {
public static void main(String[] args) {
File file = new File("C:\\Users\\Administrator\\Desktop\\a.txt");
System.out.println(file);//C:\Users\Administrator\Desktop\a.txt
}
}
根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
String parent:父路径;
String child:子路径;
好处是:父路径和子路径子路径可以单独写,使用起来非常灵活,父路径和子路径可以灵活变化;
package study.file;
import java.io.File;
public class Test {
public static void main(String[] args) {
String parent = "C:\\Users\\Administrator\\Desktop\\";
String child = "a.txt";
File file = new File(parent,child);
System.out.println(file);//C:\Users\Administrator\Desktop\a.txt
}
}
根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例;
File parent:父路径;
String child:子路径;
好处是:
父路径和子路径子路径可以单独写,使用起来非常灵活,父路径和子路径可以灵活变化;
父路径是File类型,可以使用File的方法对路径进行一些操作,再使用路径创建对象;
package study.file;
import java.io.File;
public class Test {
public static void main(String[] args) {
String parent = "C:\\Users\\Administrator\\Desktop\\";
String child = "a.txt";
File file = new File(parent);
File file1 = new File(file,child);
System.out.println(file1);//C:\Users\Administrator\Desktop\a.txt
}
}
package study.file;
import java.io.File;
public class Test {
public static void main(String[] args) {
File file = new File("C:\\Users\\Administrator\\Desktop\\Test\\a.txt");
//1、获取此File的绝对路径字符串
System.out.println(file.getAbsolutePath());//C:\Users\Administrator\Desktop\Test\a.txt
//2、获取此File的路径字符串
System.out.println(file.getPath());//C:\Users\Administrator\Desktop\Test\a.txt
//3、返回由此File表示的文件或目录(文件夹)的名称
System.out.println(file.getName());//a.txt
//4、返回此File表示文件的长度,不能获取文件夹的大小,若文件不存在返回0
System.out.println(file.length());//10(字节)
}
}
package study.file;
import java.io.File;
public class Test {
public static void main(String[] args) {
File file = new File("C:\\Users\\Administrator\\Desktop\\Test\\a.txt");
//1、判断此File是否实际存在
System.out.println(file.exists());//true
//注意:判断是否为文件或目录的方法使用的前提是File实际存在,否则都返回false
//2、判断此File是否为目录
System.out.println(file.isDirectory());//false
//3、判断此File是否为文件
System.out.println(file.isFile());//true
}
}
package study.file;
import java.io.File;
import java.io.IOException;
public class Test {
public static void main(String[] args) throws IOException {
File file = new File("C:\\Users\\Administrator\\Desktop\\Test\\b.txt");
//1、当且仅当具有该名称的文件不存在时,创建一个新的空文件
if(file.createNewFile()){
System.out.println("文件创建成功!");
}
//2、删除由此File表示的文件或者目录
if(file.delete()){
System.out.println("文件或目录删除成功!");
}
//3、创建由此File表示的目录
File file1 = new File("C:\\Users\\Administrator\\Desktop\\Test02");
if(file1.mkdir()){
System.out.println("目录已创建!");
}
//4、创建由此File表示的目录,包括必需但不存在的父目录
File file2 = new File("C:\\Users\\Administrator\\Desktop\\Test01\\a");
if(file2.mkdirs()){
System.out.println("所有目录已创建!");
}
}
}
package study.file;
import java.io.File;
import java.io.IOException;
public class Test {
public static void main(String[] args) throws IOException {
File file = new File("C:\\Users\\Administrator\\Desktop\\Test");
//1、返回一个字符串数组,表示该File目录中所有子文件或目录
String[] strings = file.list();
for (String string : strings) {
System.out.println(string);
}
System.out.println("================");
//2、返回一个文件串数组,表示该File目录中所有子文件或目录
File[] files = file.listFiles();
for (File file1 : files) {
System.out.println(file1);
}
}
}
a.txt
b.txt
test01
test02
================
C:\Users\Administrator\Desktop\Test\a.txt
C:\Users\Administrator\Desktop\Test\b.txt
C:\Users\Administrator\Desktop\Test\test01
C:\Users\Administrator\Desktop\Test\test02
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有