文件管理
File类
相对路径:相对于项目的路径 绝对路径 路径全称
import java.io.File;
import java.lang.Object;
字段:跨平台的分隔符可能不同可以调用去查看
路径分隔符(;)File.pathSeparator()
名称分隔符(\)File.separator()
他们相当于类里面的常量
System.out.println(File.separator)
//Ctrl+鼠标左键pathSeparator
public static final String pathSeparator = "" + pathSeparatorChar;
一.File类内的三种构造方法
//构造方法的参数即括号内都是用双引号
1.File(String pathname)
//通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例
2.File(File parent, String child)文件
路径对象,文件名
//从父抽象路径名和子路径名字符串创建新的 File实例
3.File(String parent, String child)
路径名,文件名
//从父路径名字符串和子路径名字符串创建新的 File实例
二.File类内的常用方法
File的createNewFile方法
对象名.createNewFile();
创建的是文本文件
当且仅当具有此名称的文件尚不存在时,以原子方式创建由此抽象路径名命名的新空文件
public boolean createNewFile() throws IOException
File的mkdir方法和mkdirs
对象名.mkdir();
创建的是文件夹
mkdirs 创建此抽象路径名指定的目录,包括任何必需但不存在的父目录D://****/**/*把它最后个前面的文件夹都创出来,而mkdir就创建最后那个,前面的需要有,不然出错
public boolean mkdir()
getAbsoluteFile()、getAbsolutePath()
返回此抽象路径名的绝对形式。诸如D://***/**/
亲测一致,就返回值不一样
public String getAbsolutePath()//返回此抽象路径名的绝对路径名字符串
public File getAbsoluteFile()//返回此抽象路径名的绝对形式
getName()、getPath()
public String getName()//返回此抽象路径名表示的文件或目录的名称。
public String getPath()//将此抽象路径名转换为路径名字符串
getParent()、getParentFile()
返回此抽象路径名父项的路径名字符串,如果此路径名未指定父目录,则返回 null 。
返回此抽象路径名父项的抽象路径名,如果此路径名未指定父目录,则返回 null 。即获取父文件夹的对象
public String getParent()
public File getParentFile()
length()
返回此抽象路径名表示的文件的长度。1024kb=1m
public long length()
exists() 、isFile()、 isDirectory()
public boolean exists()//测试此抽象路径名表示的文件或目录是否存在
public boolean isFile()//测试此抽象路径名表示的文件是否为普通文件
public boolean isDirectory()//测试此抽象路径名表示的文件是否为目录
list()、listFile()
public String[] list()//返回一个字符串数组,用于命名此抽象路径名表示的目录中的文件和目录
public File[] listFiles()//返回一个抽象路径名数组,表示此抽象路径名表示的目录中的文件。
renameTo(File dest)
重命名此抽象路径名表示的文件,相当于移动了 文件
此方法行为的许多方面本质上都依赖于平台:
重命名操作可能无法将文件从一个文件系统移动到另一个文件系统,它可能不是原子的,如果具有目标抽象路径名的文件,它可能不会成功已经存在。 应始终检查返回值以确保重命名操作成功
public boolean renameTo(File dest)
File练习
import java.io.File;
public class DemoFile {
//搞D盘,C可能异常
public static void main(String[] args) throws IOException {
//创建对象,参数:"D://+****",此时调用的是一参构造方法
File file = new File("D://1.txt");
//创建flag来表示是创建文件还是已存在
boolean flag = file.createNewFile();
System.out.println(flag?"创建成功":"创建失败");//三目运算符
//创建dir对象,在java中先命名在C盘为"dir创建的文件夹"
File dir = new File("D://dir创建的文件夹");
//dir.mkdir();//调用方法创建它你创建一次就注释掉
File a = new File(dir,"a.txt");//通过创建的那个文件对象
//a.createNewFile();
File b = new File("D://dir创建的文件夹","b.txt");//通过文件的路径,文本文件
//b.createNewFile();
a.delete();
b.delete();
file.delete();
dir.delete();
File f = new File("一个路径");
File newf = new File("你要改的那个路径");
file.renameTo(newf);
}
}
mkdir与createNewFile的调用区别
File dir = new File ("C://1.txt");
//dir.createNewFile();上面那个创建的是文本文件,名字是1,.后面是它的格式
dir.mkdir();
//这个就是生成一个文件夹,名字就是 1.txt
File遍历
import java.io.*;
public class DemoListFile {