文件输入输出处理-File
大佬的理解->《IO流和File》
1、File类
File类是IO包中唯一代表磁盘文件本身的对象,File类定义了一些与平台无关的方法来操作文件。通过调用File类提供的各种方法,能够完成创建、删除文件、重命名文件、判断文件的读写权限权限是否存在、设置和查询文件的最近修改时间等操作。
File类没有无参构造方法,最常用的是使用下面的构造方法来生成File对象(注意分隔符可以使用”/”和””,但是使用””必须写””,因为涉及转义的问题):
File(String pathName) pathName指的是文件的路径名;
File.separator
在Windows下的路径分隔符()和在Linux下的路径分隔符(/)是不一样的,当直接使用绝对路径时,跨平台会报No Such file or diretory异常。
File中还有几个与separator类似的静态常量,与系统有关,在编程中应尽量使用。
//File.separator 表示不同系统下的路径分割符
File file = new File("D:"+File.separator+"test"+File.separator+"test1");
//File file = new File("D:/test/test1.txt");
2、创建文件
创建文件对象 File(String pathname)
//pathname 文件路径
File file = new File("D:/test/test1.txt");
创建文件 createNewFile()
File file = new File("D:/test");
//判断文件是否存在,不存在,创建
if(!file.exists()){
try {
//判断文件是否创建成功
//createNewFile方法,会返回是否创建成功的结果,true成功,false失败
if(file.createNewFile()){
System.out.println("创建文件"+file.getName()+"成功");
}else{
System.out.println("创建文件"+file.getName()+"失败");
}
} catch (IOException e) {
e.printStackTrace();
}
3、创建目录(单级,多级)
mkdir() | 创建单级目录 |
---|---|
mkdirs() | 创建多级目录 |
创建单级目录 mkdir()
File dir = new File("D:/test/test1");//目前只有text文件夹
//判断目录是否存在,如果不存在则创建
if(!dir.exists()){
//mkdir方法,创建目录,返回是否创建成功的结果
//mkdirs方法,创建多级目录
if(dir.mkdir()){
System.out.println("创建目录成功"); //生成test1文件夹
}else{
System.out.println("删创建目录失败");
}
}else{
System.out.println("目录存在,不需要创建");
}
创建多级目录 mkdirs()
File dirs = new File("D:/test/test1/text1_1"); //目前只有text文件夹
//改变参数和方法即可
if(dirs.mkdirs()){
System.out.println("创建目录成功"); //生成test1文件夹及子文件夹text1_1
}else{
System.out.println("删创建目录失败");
}
4、删除文件或目录(只能删除单级空目录)
delete()
//存在则删除,不存在,提示
File file = new File("目录或文件路径");
if(file.exists()){
// delete方法,删除文件或者目录,并会返回是否删除成功的结果,true-成功,false-失败
//注意:删除目录,只能删除当前以及的目录,并且只能是空目录
if(file.delete()){
System.out.println("删除文件或目录成功");
}else{
System.out.println("删除文件或目录失败");
}
}else{
System.out.println("文件或目录不存在");
}
5、File类中常见方法
file.getName() | 文件名称 |
---|---|
file.length() | 文件大小 |
file.getPath() | 文件路径 |
file.getAbsolutePath() | 文件绝对路径 |
还有其他方法可以直接查看;