通俗易懂理解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.