java之File文件类
File文件类简介
File类定义了一些与平台无关的方法来操作文件,包括对文件的创建、删除、重命名等。还可以用来获取文件本身的信息,如文件所在目录、文件的长度、文件读写权限等。注意,如果要对文件进行读写的话,需要数据流类来执行。File类本身不提供接口进行读写。
标准文件
-
创建代理
File s =new File("te.txt")
如果文件名前面…/则代表在项目的前一级目录中,如果在文件名前面有两个…/…/则是将文件创建在项目目录的前两级目录中
-
创建文件
-
当且仅当不存在具有此抽象路径指定名称的文件时,不可分的创建一个新的空文件。常与exist()函数搭配起来使用
import java.io.File; import java.io.IOException; public class FileTest { public static void main(String[] args) { File file = new File("D:\\test","test6.txt"); if(file.exists()){ file.delete() ; System.out.println("文件已删除!"); }else { try { file.createNewFile() ; System.out.println("文件已创建!"); } catch (IOException e) { e.printStackTrace(); } } } }
-
-
判断文件是否存在
//承接上面的代码 s.exist() //返回的是布尔值
-
删除文件
s.delete()
-
检验文件
- isDirectory()用来测试此抽象路径名表示的文件是否是一个目录。
- isFile()测试此抽象路径名表示的文件是否是一个标准文件。
-
重命名文件
-
首先要创建新的代理
File nameto = new File("../new hello.txt")
-
将代理传给原来的文件
file.renameTo(nameto)
-
-
代码示例
import java.io.File; import java.io.IOException; public class FileTest { public static void main(String[] args) { //创建文件代理 File f = new File("E:\\yufa\\src","1.txt"); //创建判断文件是否存在 System.out.println("文件是否存在"+f.exists()); //删除文件 //f.delete(); //System.out.println("文件是否存在"+f.exists()); //重命名文件 File rename = new File("E:\\yufa\\src","2.txt"); if(f.exists()){ f.renameTo(rename); }else { try { f.createNewFile(); f.renameTo(rename); System.out.println(f.getName()); } catch (IOException e) { e.printStackTrace(); } } } }
-
运行结果
文件是否存在false
-
文件结构
目录文件
-
创建
-
mkdir()方法,返回值为布尔类型。如果创建的文件夹已经存在,就会返回一个false;但是必须存在父目录,如果不存在父目录,那么将创建失败;
-
父目录存在
-
代码
import java.io.File; public class FileTestTwo { public static void main(String[] args) { File f =new File("E:/yufa/src/","newfolder"); if(f.exists()){ System.out.println("此文件夹已经存在"); }else { if(f.mkdir()){ System.out.println("文件创建成功"); } } } }
-
结果
文件创建成功
-
文件目录
-
-
父目录不存在
import java.io.File; public class FileTestThree { public static void main(String[] args) { File f =new File("E:/yufa/src/C","newfolder"); if(f.exists()){ System.out.println("此文件夹已经存在"); }else { if(f.mkdir()){ System.out.println("文件创建成功"); }else{ System.out.println("无法创建文件夹"); } } } }
-
运行结果
无法创建文件夹
-
-
mkdirs()方法,如果父目录不一定存在,如果不存在,那么会将父目录一并创建。
-
父目录不存在
import java.io.File; public class FileTestThree { public static void main(String[] args) { File f =new File("E:/yufa/src/C","newfolder"); if(f.exists()){ System.out.println("此文件夹已经存在"); }else { if(f.mkdirs()){ System.out.println("文件创建成功"); }else{ System.out.println("无法创建文件夹"); } } } }
-
执行结果
-
-
-
删除
//例如: f.delete();
-
重命名
//进入了 import java.io.File; public class FileTestFour { public static void main(String[] args) { File file =new File("my new folder/one/two/three/four"); if(file.exists()){ System.out.println("此文件夹已经存在"); }else { if(file.mkdirs()){ System.out.println("文件创建成功"); } } File newfile =new File("my new foloder/one/two/three/my_new_folder"); if(file.renameTo(newfile)){ System.out.println("重命名成功"); } } }
-
结果
文件创建成功
file类不能实现对文件的读写,数据流类可以实现文件的读写