File文件对象
什么是文件类
java把对文件或文件夹的操作封装到File类中,该类中包含对文件 | 文件夹的所有增删改查的操作。
创建File对象
语法:
①public File(String pathname):以pathname为路径创建File对象,可以是绝对路径或相对路径,如果pathname是相对路径,这默认的当前路径在系统工程下。 ②public File(String parent,String child):以parent为父路径,child为子路径创建File对象。 ③public File(File parent,String child):根据一个父File对象和子文件路径创建File对象(参数1一定是一个文件目录,参数2可以是一个文件目录也可以是文件)
举个例子:
1 public class Test { 2 public static void main(String[] args) { 3 //使用以pathname为路径创建File对象 4 File file=new File("a.txt"); 5 //使用parent为父路径,child为子路径创建File对象 6 File file1=new File("D:\\MyProject\\BaseProject\\IoTest","a.txt"); 7 //根据父File对象和子文件路径创建File对象 8 File file2=new File(new File("D:\\MyProject\\BaseProject\\IoTest"),"a.txt"); 9 } 10 }
增加
文件的添加有添加文件和添加文件夹两种方式。
语法:
①boolean createNewFile():当且仅当具有该名称的文件尚不存在时,原地创建一个由该抽象路径名命名的新的空文件。 ②boolean mkdir():创建由此抽象路径名命名的目录。只能创建一层目录 ③boolean mkdirs():创建由此抽象路径名命名的目录,可以创建多层目录
举个例子:
1 public class Test { 2 public static void main(String[] args) throws IOException { 3 //使用以pathname为路径创建File对象 4 File file=new File("a.txt"); 5 6 //添加文件 7 boolean newFile = file.createNewFile(); 8 System.out.println("添加文件是否成功:"+newFile); 9 10 //添加一层目录 11 File file1=new File("D:\\MyProject\\BaseProject\\IoTest\\D"); 12 boolean mkdir = file1.mkdir(); 13 System.out.println("添加一层目录是否成功:" + mkdir); 14 15 //添加多层目录 16 File file2=new File("D:\\MyProject\\BaseProject\\IoTest\\D\\A\\B\\C"); 17 boolean mkdirs = file2.mkdirs(); 18 System.out.println("添加多层目录是否成功:" + mkdirs); 19 } 20 }
效果展示:
删除
删除主要涉及到文件的删除,与文件夹的删除操作。
语法:
①public boolean delete():删除文件或目录 ②public void deleteOnExit():当程序退出时才会删除文件
举个例子:
1 public class Test { 2 public static void main(String[] args) throws IOException { 3 //使用以pathname为路径创建File对象 4 File file=new File("a.txt"); 5 6 //添加文件 7 boolean newFile = file.createNewFile(); 8 boolean delete = file.delete(); 9 System.out.println("删除文件是否成功:"+delete); 10 11 //添加一层目录 12 File file1=new File("D:\\MyProject\\BaseProject\\IoTest\\D"); 13 boolean mkdir = file1.mkdir(); 14 boolean delete1 = file1.delete(); 15 System.out.println("删除文件夹是否成功" + delete1); 16 17 //在程序退出时删除文件或目录 18 File file2=new File("D:\\MyProject\\BaseProject\\IoTest"); 19 file2.deleteOnExit(); 20 } 21 }
修改
修改主要是对文件本身进行设置,可以设置为只读,可写等操作
语法:
①public boolean setReadOnly():设置文件只读。 ②public boolean setWritable(boolean writable):设置文件可写 ③public boolean setReadable(boolean readable):设置文件可读
举个例子:
1 public class Test { 2 public static void main(String[] args) throws IOException { 3 //使用以pathname为路径创建File对象 4 File file=new File("a.txt"); 5 6 //设置file文件只读 7 file.setReadOnly(); 8 } 9 }
查询
查询操作可以查询文件的相应信息
语法:
①String getName():查询文件名 ②String getParent():返回文件的的父路径,如果没有返回null ③String getPath():获取文件的相对路径 ④String getAbsolutePath():获取文件的绝对路径 ⑤boolean isDirectory():判断是否为目录 ⑥boolean isFile():判断是否为普通文件 ⑦String[] list():列出该文件下的所有子文件或目录名 ⑧File[] listFiles():列出该文件下的所有子文件或目录
举个例子:
1 public class Test { 2 public static void main(String[] args) throws IOException { 3 //使用以pathname为路径创建File对象 4 File file=new File("a.txt"); 5 //获取绝对路径 6 System.out.println("文件的绝对路径"+file.getAbsolutePath()); 7 //文件是否存在 8 System.out.println("文件是否存在" + file.exists()); 9 //获取文件名 10 System.out.println("文件名" + file.getName()); 11 //获取相对路径 12 System.out.println("文件的相对路径" + file.getPath()); 13 //判断是否为目录 14 System.out.println("这是一个文件夹吗?" + file.isDirectory()); 15 //判断是否为文件 16 System.out.println("这是一个文件吗?" + file.isFile()); 17 File file1=new File("F:\\java全栈\\练习结果"); 18 //列出文件下的所有子文件或目录名(只显示一层) 19 String[] list = file1.list(); 20 System.out.println(Arrays.toString(list)); 21 //列出文件下的所有子文件或目录对象 22 File[] files = file1.listFiles(); 23 for(File file2:files){ 24 System.out.println(file2); 25 } 26 } 27 }
效果展示:
标签:文件,File,boolean,file,public,String From: https://www.cnblogs.com/gzyhrc/p/17848711.html