import java.io.File;
public class FileTest {
public static void main(String[] args) {
/**
* 常用的构造方法有三种:
* 1、File(String pathname):
* 通过路径名创建一个新 File 实例。
*
* 2、File(File parent, String child):
* 根据父目录路径File实例和子目录或文件路径创建一个新 File 实例。
*
* 3、File(String parent, String child) :
* 根据父目录路径和子目录或文件路径创建一个新 File 实例。
* ————————————————
* 路径:
* 绝对路径:是一个以盘符开始的完整的路径,可以直接通过绝对路径找到文件
* 以盘符(C:,d:)开始的路径
* c:/a.txt
* F:\\JAVA\\notheme\\out\\production\\notheme\\calendar\\Calender.class
* D:/demo/a.txt
* 相对路径:是一个简化的路径,
* 如果F:\\JAVA\\notheme\\out\\production\\notheme是当前项目的根目录
* 那么F:\\JAVA\\notheme\\out\\production\\notheme\\a.txt就可以简写为a.txt
*
* 获取JAVA项目根目录的方法:
* String relativelyPath = System.getProperty("user.dir")
*
* 注意:
* 1。路径是不区分大小写的
* 2.路径中的文件名称分隔符windows使用反斜杠,反斜杠\是转义字符,两个反斜杠\\代表一个普通斜杠/
* 3.separator 用来代替文件或文件夹路径的斜线或反斜线,防止跨平台出现错误(很麻烦 很少用)
* ————————————————
*/
//1、File(String pathname):通过路径名创建一个新 File 实例。
File file1 =new File("F:\\JAVA\\notheme\\out\\production\\notheme\\calendar.class");
//2、File(File parent, String child):根据父目录路径File实例和子目录或文件路径创建一个新 File 实例。
//就是把后面的child路径加上分隔符拼到第一个file实例的pathname后面
File file2=new File(new File("F:\\JAVA\\notheme\\out\\production"),"notheme");
//3、File(String parent, String child) :根据父目录路径和子目录或文件路径创建一个新 File 实例。
File file3=new File("F:\\JAVA\\notheme\\out\\production","notheme\\calendar");
//输出三个file实例的路径 都是一样的
System.out.println(file1+"\n"+file2+"\n"+file3);
/**
* File类常用方法:
* 大致有以下几种:
*
* 判断文件状态的
* isDirectory() 是否为文件夹
* isFile() 是否为文件
* exists() 路径是否存在
* canRead();是否可读
* canWrite();是否可写
*/
System.out.println(file1.isDirectory());
System.out.println(file1.isFile());
System.out.println(file1.exists());
System.out.println(file1.canRead());
System.out.println(file1.canWrite());
/**
*
*得到文件信息的
* getPath() 得到file的路径
* getName() 得到最后一层的名字
* getParent() 得到去掉最后一层的路径
* list() 返回该路径下文件或者文件夹的名字数组
* listFiles() 返回该路径下文件或者文件夹组成的File数组
*
*/
System.out.println(file1.getPath());
System.out.println(file1.getName());
System.out.println(file1.getParent());
String[] list =file2.list();
for(String s: list) {
System.out.println(s);
}
File[] list2 =file2.listFiles();
for(File f: list2) {
System.out.println(f.getName());
}
/**
* 增删改(不做示范了)
* mkdir() 创建新文件夹,只能创建最后一层。 如果前面的文件夹没有 就创建不了
* mkdirs() 创建新文件夹,如果路径中的文件夹不存在就创建.理论上只要路径里面带了盘符就能建
* createNewFile() 当且仅当不存在具有此路径名指定名称的文件时,创建一个新的空文件
* renameTo() 改名字,也可以改路径,参数是一个file对象,如果目标文件已经存在了,则返回false
* (renameTo不会产生新文件,只是把文件移动一下,或者改个名字)
* delete() 删除文件或者目录(为空的目录)
*
*
*/
}
}
File类的常用方法
最新推荐文章于 2023-05-29 17:27:22 发布