File的介绍:
* 1.File类的一个对象,代表一个文件或者一个文件目录(文件夹) * 2.File类声明在java.io包下 * 3.File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法 * 并未涉及到写入或读取文件内容的操作,如果需要读取或写入文件内容,必须使用io流来完成 * 4.后续File类的对象通常会作为参数传递到流的构造器中,指明读取或写入的终点
1.如何创建File类的实例(三种方式)
2.相对路径:相较于某个路径下,指明的路径 绝对路径:包含盘符在内的文件或文件目录的路径
@Test
public void test(){
//构造器1
File file1=new File("hello.txt");
File file2=new File("C:\\Users\\86130\\IdeaProjects\\untitled2\\src\\learning way\\io\\file\\hello.txt");
//构造器2
File file3=new File("C:\\Users\\86130","IdeaProjects");
System.out.println(file3);
//构造器3
File file4=new File(file3,"hi.txt");
System.out.println(file4);
//以上无论文件存不存在都不会保错 因为此时只是在内存层面上而已
}
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数组
*/
@Test
public void test1(){
File file1=new File("hello.txt");
File file2=new File("C:\\Users\\86130\\IdeaProjects\\untitled2\\src\\learning way\\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(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(new Date(file2.lastModified()));
}
@Test
public void test2(){
File file=new File("C:\\Users\\86130\\IdeaProjects\\untitled2\\src\\learning way");
String[] list= file.list();
for(String i:list){
System.out.println(i);
}
System.out.println("******************");
File[] files=file.listFiles();
for(File f:files){
System.out.println(f);
}
}
@Test
public void test3(){
/*
public boolean renameTo(File dest):把文件重命名为指定的文件路径
比如:file1.renameTo(file2)为例:
想要保证返回true,需要file1在硬盘中是存在的,且在file2不能在硬盘中存在
*/
File file1=new File("hello.txt");//模块下的文件
File file2=new File("C:\\Users\\86130\\IdeaProjects\\untitled2\\src\\learning way\\hi.txt");
boolean renameTo=file2.renameTo(file1);
System.out.println(renameTo);
}
/*
public boolean idDirectory():判断是否是我呢见目录
public boolean isFile():判断的是否是文件
Public boolean exists():判断是否存在
public boolean canRead():判断是否可读
public boolean canWrite():判断是否可写
public boolean isHidden():判断是否隐藏
*/
/*
创建硬盘中对应的文件或文件目录
public boolean createNewFile():创建文件。若文件存在,则不创建,返回false
public boolean mkdir():创建文件目录。如果此文件目录存在,就不创建,如果此文件目录的上层文件目录不存在,返回false
public boolean mkdirs():创建文件目录,如果上层文件目录不存在,一并创建
删除磁盘中的文件或文件目录
public boolean delete():删除文件或者文件夹
删除注意事项
java中的删除不走回收站
*/