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:/
*/
@Test
public void test1(){
//构造器1
File 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);
//构造器2
File file3 = new File("C:\\Users\\Administrator\\Desktop","he");
System.out.println(file3);
//构造器3
File 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():获取上层文件目录路径。若无,返回null
5.public long length():获取文件长度(即:字节数)。不能获取目录长度
6.pubic long lastModified():获取最后一次的修改时间,毫秒值
如下的方法使用于文件目录:
7.public String[] list():获取指定目录下的所有文件或者文件目录的名称数组
8.public File[] listFiles():获取指定目录下的所有文件或者文件目录的File数组
*/
@Test
public 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());
//获取上层文件目录路径。若无,返回null
System.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());
//获取上层文件目录路径。若无,返回null
System.out.println(file2.getParent());
//获取文件长度(即:字节数)。不能获取目录长度
System.out.println(file2.length());
//获取最后一次的修改时间,毫秒值
System.out.println(new Date(file2.lastModified()));
}
@Test
public 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在硬盘中时不存在的。
*/
@Test
public 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():判断是否隐藏
*/
@Test
public 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():创建文件,若文件存在,则不创建,返回false
2.public boolean mkdir(): 创建文件目录。如果此文件目录存在,就不创建。如果此文件目录的上层目录不存在,也不创建
3.public boolean mkdirs(): 创建文件目录。如果上层文件目录不存在,一并创建
删除磁盘中的文件或文件目录
1.public boolean delete():
删除注意事项:
java中的删除不走回收站。
*/
@Test
public void test6() throws IOException {
//创建文件,若文件存在,则不创建,返回false
File 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成功!");
}
}
}
```