



File类的常用方法:


- File类的使用
1.File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)
2.File类声明在java.io包下
3.File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法
并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成
4.后续File类的对象常会作为参数传递到流的构造器中,指明读取或写入的“终点”
**
1.如何创建file类的实例
File(String filePath)
File(String parentPath,String childPath)
File(File parentFile,String childPath)
2.
相对路径:相较于某个文件路径下,指明的路径。
结对路径:包含盘符在内的文件或文件目录的路径。
说明:
IDEA中:
如果大家开发使用JUnit中的单元测试方法测试,相对路径即为当前Module下。
如果大家使用main()方法测试,相对路径即为当前Project下。
Eclipse中;
不管使用单元测试方法还是使用main()测试,相对路径都是当前的Project下。
3.路径分隔符
windows:\
Unix:/
/
**
/
1.public String getAbsolutePath():获取绝对路径
2.public String getPath():获取路径
3.public String getName():获取名称
4.public String getParent():获取上层文件目录路径。若无,返回null
5.public long length():获取文件长度(即:字节数)。不能获取目录长度
6.pubic long lastModified():获取最后一次的修改时间,毫秒值
如下的方法使用于文件目录:
7.public String[] list():获取指定目录下的所有文件或者文件目录的名称数组
8.public File[] listFiles():获取指定目录下的所有文件或者文件目录的File数组
/
**
/
public boolean renameTo(File dest):把文件重命名为指定的文件路径
比如:file1.renameTo(file2)为例:
要想保证返回true,需要file1在硬盘中时存在的,且file2在硬盘中时不存在的。
/
**
/
1.public boolean isDirectory():判断是否是文件目录
2.public boolean isFile():判断是否是文件
3.public boolean exists():判断是否存在
4.public boolean canRead():判断是否可读
5.public boolean canWrite(): 判断是否可写
6.public boolean isHidden():判断是否隐藏
/
**
/
创建硬盘中对应的文件或文件目录
1.public boolean createNewFile():创建文件,若文件存在,则不创建,返回false
2.public boolean mkdir(): 创建文件目录。如果此文件目录存在,就不创建。如果此文件目录的上层目录不存在,也不创建
3.public boolean mkdirs(): 创建文件目录。如果上层文件目录不存在,一并创建
删除磁盘中的文件或文件目录
1.public boolean delete():
删除注意事项:
java中的删除不走回收站。
/
**
```java package com.atguigu.java4;
import org.junit.Test;
import java.io.File; import java.io.IOException; import java.util.Date;
/**
- File类的使用 *
- 1.File类的一个对象,代表一个文件或一个文件目录(俗称:文件夹)
- 2.File类声明在java.io包下
- 3.File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法
- 并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成
- 4.后续File类的对象常会作为参数传递到流的构造器中,指明读取或写入的“终点” *
- @author Dxkstart
@create 2021-05-28 21:09 / public class FileTest { / 1.如何创建file类的实例
File(String filePath)File(String parentPath,String childPath)File(File parentFile,String childPath)
2. 相对路径:相较于某个文件路径下,指明的路径。
结对路径:包含盘符在内的文件或文件目录的路径。
说明: IDEA中: 如果大家开发使用JUnit中的单元测试方法测试,相对路径即为当前Module下。 如果大家使用main()方法测试,相对路径即为当前Project下。 Eclipse中; 不管使用单元测试方法还是使用main()测试,相对路径都是当前的Project下。
3.路径分隔符windows:\\Unix:/*/@Testpublic void test1(){//构造器1File file1 = new File("hello.txt");//相对路径,相对于module(idea的)File file2 = new File("C:\\Users\\Administrator\\Desktop\\helloworld.txt");//绝对路径System.out.println(file1);System.out.println(file2);//构造器2File file3 = new File("C:\\Users\\Administrator\\Desktop","he");System.out.println(file3);//构造器3File file4 = new File(file3,"hi.txt");System.out.println(file4);}/*1.public String getAbsolutePath():获取绝对路径2.public String getPath():获取路径3.public String getName():获取名称4.public String getParent():获取上层文件目录路径。若无,返回null5.public long length():获取文件长度(即:字节数)。不能获取目录长度6.pubic long lastModified():获取最后一次的修改时间,毫秒值如下的方法使用于文件目录:7.public String[] list():获取指定目录下的所有文件或者文件目录的名称数组8.public File[] listFiles():获取指定目录下的所有文件或者文件目录的File数组*/@Testpublic void test2(){File file1 = new File("hello.txt");File file2 = new File("C:\\Users\\Administrator\\Desktop\\IO\\hi.txt");//获取绝对路径System.out.println(file1.getAbsoluteFile());//获取路径System.out.println(file1.getPath());//获取名称System.out.println(file1.getName());//获取上层文件目录路径。若无,返回nullSystem.out.println(file1.getParent());//获取文件长度(即:字节数)。不能获取目录长度System.out.println(file1.length());//获取最后一次的修改时间,毫秒值System.out.println(new Date(file1.lastModified()));System.out.println("***********");//获取绝对路径System.out.println(file2.getAbsoluteFile());//获取路径System.out.println(file2.getPath());//获取名称System.out.println(file2.getName());//获取上层文件目录路径。若无,返回nullSystem.out.println(file2.getParent());//获取文件长度(即:字节数)。不能获取目录长度System.out.println(file2.length());//获取最后一次的修改时间,毫秒值System.out.println(new Date(file2.lastModified()));}@Testpublic void test3(){File file1 = new File("C:\\Users\\Administrator\\Desktop\\IO");//获取指定目录下的所有文件或者文件目录的名称数组String[] list = file1.list();for(String str :list){System.out.println(str);}System.out.println("********");//获取指定目录下的所有文件或者文件目录的File数组File[] files = file1.listFiles();for(File f : files){System.out.println(f);}}/*public boolean renameTo(File dest):把文件重命名为指定的文件路径比如:file1.renameTo(file2)为例:要想保证返回true,需要file1在硬盘中时存在的,且file2在硬盘中时不存在的。*/@Testpublic void test4(){File file1 = new File("hello.txt");File file2 = new File("C:\\Users\\Administrator\\Desktop\\IO\\hi1.txt");boolean renameTo = file2.renameTo(file1);System.out.println(renameTo);}/*1.public boolean isDirectory():判断是否是文件目录2.public boolean isFile():判断是否是文件3.public boolean exists():判断是否存在4.public boolean canRead():判断是否可读5.public boolean canWrite(): 判断是否可写6.public boolean isHidden():判断是否隐藏*/@Testpublic void test5(){File file = new File("hello.txt");//判断是否是文件目录System.out.println(file.isDirectory());//判断是否是文件System.out.println(file.isFile());//判断是否存在System.out.println(file.exists());//判断是否可读System.out.println(file.canRead());//判断是否可写System.out.println(file.canWrite());//判断是否隐藏System.out.println(file.isHidden());System.out.println("***********");File file2 = new File("C:\\Users\\Administrator\\Desktop\\IO");//判断是否是文件目录System.out.println(file2.isDirectory());//判断是否是文件System.out.println(file2.isFile());//判断是否存在System.out.println(file2.exists());//判断是否可读System.out.println(file2.canRead());//判断是否可写System.out.println(file2.canWrite());//判断是否隐藏System.out.println(file2.isHidden());}/*创建硬盘中对应的文件或文件目录1.public boolean createNewFile():创建文件,若文件存在,则不创建,返回false2.public boolean mkdir(): 创建文件目录。如果此文件目录存在,就不创建。如果此文件目录的上层目录不存在,也不创建3.public boolean mkdirs(): 创建文件目录。如果上层文件目录不存在,一并创建删除磁盘中的文件或文件目录1.public boolean delete():删除注意事项:java中的删除不走回收站。*/@Testpublic void test6() throws IOException {//创建文件,若文件存在,则不创建,返回falseFile file1 = new File("C:\\Users\\Administrator\\Desktop\\IO\\world.jpg");if(!file1.exists()) {file1.createNewFile();System.out.println("创建成功!");}else{file1.delete();System.out.println("删除成功!");}//创建文件目录。如果此文件目录存在,就不创建。如果此文件目录的上层目录不存在,也不创建File file2 = new File("C:\\Users\\Administrator\\Desktop\\IO\\day08");if(!file2.exists()){file2.mkdir();System.out.println("创建文件夹2成功!");}else{file2.delete();System.out.println("删除文件夹2成功!");}//创建文件目录。如果上层文件目录不存在,一并创建File file3 = new File("C:\\Users\\Administrator\\Desktop\\IO\\day09\\day10");boolean mkdirs = file3.mkdirs();if(mkdirs){System.out.println("创建文件夹3成功!");}else{file3.delete();System.out.println("删除文件夹3成功!");}}
}
```
