java中的File类是对操作系统中的文件夹或是文件的抽象。因此,每一个File类的对象都代表着一个文件或文件夹。当然,这些文件或者文件夹可以实际存在或是不存在于系统中。
创建并初始化File类对象
初始化的四方式
File类对象在初始化时有三种常用方式:
File file = new File(路径);
File file = new File(父路径,子路径);
File file = new File(父文件,子路径);
File file = new File(URI);
总体来说,前三种初始化是围绕着路径信息展开的,这与File类对应文件的设定十分相符。
需要指出的是,路径的信息是通过字符串存储的,因此以上三种初始化方式中除了传入父文件需要传入一个File类对象以外,其余的参数都是字符串类型。
例如:
File file1 = new File("test");
File file2 = new File("test","file1.txt");
File file3 - new FIle(file1,"file2.txt");
需要指出的是,当文件对象不能对应一个真实存在的问件时,程序是不能判断其是否为一个文件夹还是文件的。
第四种是根据文件的统一资源标识符(URI)进行创建,这里不进行展开了。
操作文件对象
创建对象过后,就可以通过对象对文件进行操作了。
创建文件
使用成员方法创建
使用已存在的对象的成员方法 createNewFile(),我们可以创建一个对应的文件,语法如下:
对象名.createNewFile();
这个方法的返回类型是 boolean 表明是否创建成功。同时这个方法会抛出 IOExcepti 异常,表示创建过程中的错误。
例如:
File file1 = new File("tast");
file1.creatNewFile();
创建目录需要使用另一个方法(一个没有后缀的命名可以是目录也可以是文件,因此创建文件还是目录应该是分开考虑的。) mkdir 来创建目录。有两个相似的方法,他们的语法格式如下:
对象名.mkdir();
对象名.mkdirs();
两个方法的返回值都是布尔类型代表创建行为的成功与否。
两者的区别是,前者只能创建最终的文件夹,如果他的父路径又不存在的状况会导致创建失败。
后者可以创建包括父路径在内的一系列文件夹。
例如:
File folder = new File("test/folder");
folder.mkdir();
folder.mkdirs();
使用类方法创建
File类除了有成员方法可以有对象调用创建文件之外,还内置了静态的类方法 createTempFile 用于创建文件。
File.createTempFile(文件前缀,文件后缀);
File.createTempFile(文件前缀,文件后缀,文件对象);
这两个类方法可以直接文件,文件的全名由前缀和后缀一起组成 (后缀需要带上 “.”) 。需要注意的是,如果使用第一个方法,不给出文件的路径。那么文件将会被放入默认的路径下。
第二个方法的含义可看做向给定的文件夹下创建一个文件。
例如:
File.createTempFile("test",".txt");
File.createTempFile("test1","txt",new FIle("fileFolder"))