13-1 IO流 ---- File类的使用(2)常用方法
一、File类的获取功能
- public String getAbsolutePath():获取绝对路径
- public String getPath() :获取路径
- public String getName() :获取名称
- public String getParent():获取上层文件目录路径。若无,返回null
- public long length() :获取文件长度(即:字节数)。不能获取目录的长度。
- public long lastModified() :获取最后一次的修改时间,毫秒值
如下的两个方法使用于文件目录:
- public String[] list() :获取指定目录下的所有文件或者文件目录的名称数组
- public File[] listFiles() :获取指定目录下的所有文件或者文件目录的File数组
二、File类的重命名功能
- public boolean renameTo(File dest):把文件重命名为指定的文件路径
比如:file1. renameTo(file2)
要想保证返回是true,需要file1在硬盘中是存在的,且file2不能在硬盘中存在
三、File类的判断功能
- public boolean isDirectory():判断是否是文件目录
- public boolean isFile() :判断是否是文件
- public boolean exists() :判断是否存在
- public boolean canRead() :判断是否可读
- public boolean canWrite() :判断是否可写
- public boolean isHidden() :判断是否隐藏
四、File类的创建功能
- public boolean createNewFile() :创建文件。若文件存在,则不创建,返回false
- public boolean mkdir() :创建文件目录。如果此文件目录存在,就不创建了。如果此文件目录的上层目录不存在,也不创建。
- public boolean mkdirs() :创建文件目录。如果上层文件目录不存在,一并创建
注意事项:如果你创建文件或者文件目录没有写盘符路径,那么,默认在项目路径下。
五、File类的删除功能
- public boolean delete():删除文件或者文件夹
删除注意事项:
Java中的删除不走回收站。 要删除一个文件目录,请注意该文件目录内不能包含文件或者文件目录
代码:
package java1;
import org.junit.Test;
import java.io.File;
import java.io.IOException;
import java.util.Date;
public class FileTest1 {
//File类的获取功能
@Test
public void test1() {
File file1 = new File("hello.txt");
File file2 = new File("D:\\io\\hi.txt");
System.out.println(file1.getAbsolutePath());
System.out.println(file1.getPath());
System.out.println(file1.getName());
System.out.println(file1.getParent());
System.out.println(file1.length());
System.out.println(file1.lastModified());
System.out.println(new Date(file1.lastModified()));
System.out.println();
System.out.println(file2.getAbsolutePath());
System.out.println(file2.getPath());
System.out.println(file2.getName());
System.out.println(file2.getParent());
System.out.println(file2.length());
System.out.println(file2.lastModified());
System.out.println();
File file3 = new File("D:\\workspace\\idea1\\JavaSenior");
String[] list = file3.list();
for(String s : list){
System.out.println(s);
}
System.out.println();
File[] files = file3.listFiles();
for(File f : files){
System.out.println(f);
}
}
//File类的重命名功能
@Test
public void test2(){
File file1 = new File("hello.txt");
File file2 = new File("D:\\io\\hi.txt");
boolean renameTo = file1.renameTo(file2);
System.out.println(renameTo);//执行第二遍为false
}
//File类的判断功能
@Test
public void test3(){
File file1 = new File("hello.txt");
// file1 = new File("hello1.txt");
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());
System.out.println(file1.isHidden());
System.out.println();
File file2 = new File("d:\\io");
// file2 = new File("d:\\io1");
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());
}
//创建硬盘中对应的文件或文件目录
//删除磁盘中的文件或文件目录
@Test
public void test4() throws IOException {
File file1 = new File("hi.txt");
//文件的创建与删除
if(!file1.exists()){
file1.createNewFile();
System.out.println("创建成功");
}else{//文件存在
file1.delete();
System.out.println("删除成功");
}
}
@Test
public void test5(){
//文件目录的创建
File file1 = new File("d:\\io\\io1\\io3");
boolean mkdir = file1.mkdir();
if(mkdir){
System.out.println("创建成功1");
}
File file2 = new File("d:\\io\\io1\\io4");
boolean mkdir1 = file2.mkdirs();
if(mkdir1){
System.out.println("创建成功2");
}
//要想删除成功,io4文件目录下不能有子目录或文件
File file3 = new File("D:\\io\\io1\\io4");
file3 = new File("D:\\io\\io1");
System.out.println(file3.delete());
}
}
test1输出:
D:\workspace\idea1\JavaSenior\08IOliu\hello.txt
hello.txt
hello.txt
null
10
1613712788750
Fri Feb 19 13:33:08 CST 2021
D:\io\hi.txt
D:\io\hi.txt
hi.txt
D:\io
0
0
.idea
01IDEAUse
02IDEA
03Usual
04Usual
05Enum
06Assem
07Generic
08IOliu
JavaSenior.iml
jdbc.properties
out
src
D:\workspace\idea1\JavaSenior\.idea
D:\workspace\idea1\JavaSenior\01IDEAUse
D:\workspace\idea1\JavaSenior\02IDEA
D:\workspace\idea1\JavaSenior\03Usual
D:\workspace\idea1\JavaSenior\04Usual
D:\workspace\idea1\JavaSenior\05Enum
D:\workspace\idea1\JavaSenior\06Assem
D:\workspace\idea1\JavaSenior\07Generic
D:\workspace\idea1\JavaSenior\08IOliu
D:\workspace\idea1\JavaSenior\JavaSenior.iml
D:\workspace\idea1\JavaSenior\jdbc.properties
D:\workspace\idea1\JavaSenior\out
D:\workspace\idea1\JavaSenior\src
test2输出:
true
test3输出: 无输出
test4输出:
删除成功
test5输出:
创建成功1
false