通俗易懂理解IO:
当需要把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作。
当把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操作。
因此把这种输入和输出动作称为IO操作。
File类可以操作文件或者文件夹。
1)封装成file对象
构造函数
构造方法摘要 File(File parent, String child) // 根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。 File(String pathname) // 通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。 File(String parent, String child) //根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。 File(URI uri) //通过将给定的 file: URI 转换为一个抽象路径名来创建一个新的 File 实例。
实现
public class file { public static void main(String[] args) { // File构造函数演示 String pathName = "C:\\Users\\Pathliu\\Desktop\\MyWeb_2017\\gitHub\\java\\src\\CallName.java"; File f1 = new File(pathName);// 将Test22文件封装成File对象。注意;有可以封装不存在文件或者文件夹,变成对象。 System.out.println(f1); File f2 = new File("C:\\Users\\Pathliu\\Desktop\\MyWeb_2017\\gitHub\\java\\src", "CallName.java"); System.out.println(f2); // 将parent封装成file对象。 File dir = new File("C:\\Users\\Pathliu\\Desktop\\MyWeb_2017\\gitHub\\java\\src"); File f3 = new File(dir, "CallName.java"); System.out.println(f3); } }
运行结果
2)File类的获取(获取需要读取文件的基本信息,如文件路径、名称等)
public static void main(String[] args) { // 创建文件对象 File file = new File("C:\\Users\\Pathliu\\Desktop\\MyWeb_2017\\gitHub\\java\\src\\CallName.java"); // 获取文件的绝对路径,即全路径 String absPath = file.getAbsolutePath(); // File中封装的路径是什么获取到的就是什么。 String path = file.getPath(); // 获取文件名称 String filename = file.getName(); // 获取文件大小 long size = file.length(); System.out.println("absPath=" + absPath); System.out.println("path=" + path); System.out.println("filename=" + filename); System.out.println("size=" + size); }
运行结果
3)文件和文件夹的创建删除等
方法:
public static void main(String[] args) throws IOException { // 对文件或者文件加进行操作。 File file = new File("C:\\Users\\Pathliu\\Desktop\\MyWeb_2017\\gitHub\\java\\src\\CallName.java"); // 创建文件,如果文件不存在,创建 true 如果文件存在,则不创建 false。 如果路径错误,IOException。 boolean b1 = file.createNewFile(); System.out.println("b1=" + b1); // -----------删除文件操作-------注意:不去回收站。慎用------ boolean b2 = file.delete(); System.out.println("b2=" + b2); // -----------需要判断文件是否存在------------ boolean b3 = file.exists(); System.out.println("b3=" + b3); // -----------对目录操作 创建,删除,判断------------ File dir = new File("C:\\Users\\Pathliu\\Desktop\\MyWeb_2017\\gitHub\\java\\src\\test"); // mkdir()创建单个目录。//dir.mkdirs();创建多级目录 boolean b4 = dir.mkdir(); System.out.println("b4=" + b4); // 删除目录时,如果目录中有内容,无法直接删除。 boolean b5 = dir.delete(); // 只有将目录中的内容都删除后,保证该目录为空。这时这个目录才可以删除。 System.out.println("b5=" + b5); // -----------判断文件,目录------------ File f = new File("C:\\Users\\Pathliu\\Desktop\\MyWeb_2017\\gitHub\\java\\src\\test");// 要判断是否是文件还是目录,必须先判断存在。 f.mkdir();//f.createNewFile(); System.out.println(f.isFile()); System.out.println(f.isDirectory()); }
更多操作方式,可参考JavaAPI.