file类 的作用
1.用于将文件或者文件夹封装成对象
2.方便对文件与文件夹进行操作
3.方便输入输出流的文件传输
一、创建文件对象,将已有的和未出现的文件或者文件夹封装成对象。
这四种方法都将C盘下的1.Java文件封装成对象。
二、file对象的判断
可以new file 可以创建已有的文件对象,也可以创建未存在的文件对象,那怎么去判断到底存不存在呢?
package com.neuedu.demo01; import java.io.File; /* * 文件类的使用 */ public class fileDemo { public static void main(String[] args) { File f1=new File("E:\\learnJava\\hello.txt"); System.out.println(f1.exists());//判断文件或目录是否存在 System.out.println(f1.isDirectory());//判断文件对象表示的是否是一个目录 System.out.println(f1.isFile());//判断文件对象表示的是否是一个文件 System.out.println(f1.isAbsolute());//判断文件对象是否是一个绝对路径 System.out.println(f1.isHidden());//判断文件对象是否是隐藏文件 } }
三、文件的创建和删除
file类提供了一些方法,能够在计算机上常见和删除文件或者目录
package com.neuedu.demo01; import java.io.File; import java.io.IOException; /* * 文件类的使用 * */ public class fileDemo { public static void main(String[] args) { File f1=new File("E:\\learnJava\\hello.txt");//一个文件 File f2=new File("E:\\learnJava\\hello");//一个目录 if (f1.exists()) {//文件文件已经存在 f1.delete(); //则将已经存在的文件删除 }else { try { f1.createNewFile(); //如果不存在,则创建出来 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if (!f2.exists()) {//如果目录不存在 f2.mkdir(); //创建目录 f2.mkdirs(); 创建多级目录 }else { f2.delete(); } } }
四、File相关get方法
package com.neuedu.demo01; import java.io.File; import java.io.IOException; /* * 文件类的使用 * */ public class fileDemo { public static void main(String[] args) { File f1=new File("E:\\learnJava\\hello.txt");//一个文件 File f2=new File("E:\\learnJava\\hello");//一个目录 System.out.println(f1.getAbsolutePath());//获取文件对象的绝对路径,返回的是File对象----E:\learnJava\hello.txt System.out.println(f1.getAbsoluteFile());//获取文件对象的绝对路径,返回的是string-----E:\learnJava\hello.txt System.out.println(f1.getName());//获取文件对象的文件名或者是目录名----hello.txt System.out.println(f1.getParent());//获取文件对象的父目录,返回的是string----E:\learnJava System.out.println(f1.getParentFile());//获取文件对象的父目录文件对象,返回的是File对象----E:\learnJava try { System.out.println(f1.getCanonicalPath()); //获取文件对象的规范路径名----E:\learnJava\hello.txt System.out.println(f1.getAbsoluteFile()); //获取文件对象的规范路径形式,返回file对象----E:\learnJava\hello.txt } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println(f1.getPath()); ///获取文件路径E:\learnJava\hello.txt } }
五、递归文件目录
通过list()返回文件目录中的文件和目录,返回的是字符串
通过listFile()返回文件目录中的文件和目录,返回的是文件对象
package com.neuedu.FileUtils; import java.io.File; import java.io.IOException; /** * * @author wzc * 列出File的一些常用操作 */ public class FileUtils { /** * 列出指定目录下及子目录下的所有文件 * @param dir * @throws IOException */ public static void listDirectory(File dir)throws IOException{ //判断目录是否存在 if (!dir.exists()) { throw new IllegalArgumentException("目录"+dir+"不存在"); } //判断File dir是否是目录 if (!dir.isDirectory()) { throw new IllegalArgumentException(dir+"不是目录"); } /*String[] list = dir.list(); //列出文件中的文件或者目录,不包括子目录下的 for (String string : list) { System.out.println(string); }*/ //如果需要遍历子目录下的内容就需要构造成对象,继续递归s File[] files = dir.listFiles();//返回直接子目录对象 /*for (File file2 : files) { System.out.println(file); }*/ if (files!=null && files.length>0) { for (File file : files) { if (file.isDirectory()) {//如果子文件是目录 //递归 listDirectory(file); }else{ System.out.println(file);//如果是文件则输出 } } } } }
时间: 2024-10-13 01:31:50