File
IO概述:
把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作
把持久设备上的数据读取到内存中的这个动作称为输入(读)Input操作
我们把这种输入和输出动作称为IO操作
File类:
file是文件、目录、路径的抽象表现形式
public static void main(String[] args) {
//File类:
//文件:file
//目录(文件夹):directory
//路径:path
//与系统有关的路径分隔符 (win ;) (linux :)
System.out.println(File.pathSeparator);
//与系统有关的路径名称分隔符 (win \) (linux /)
System.out.println(File.separator);
}
public static void main(String[] args) {
File file=new File("D:\\java\\a.txt");
System.out.println(file);//将Test22文件封装成File对象。注意;有可以封装不存在文件或者文件夹,变成对象
File file2=new File("D:\\java","a.txt");
System.out.println(file2);//将parent封装成file对象
File parent=new File("D:\\java");
File file3=new File(parent,"a.txt");
System.out.println(file3);
}
File类的获取:
public static void main(String[] args) throws IOException {
method01();
//method02();
//method03();
//method04();
method05();
}
public static void method01(){
File file=new File("D:\\java\\a.txt");
//获取文件对象的绝对路径
//相对路径:D:\eclipsework\Day16\src
System.out.println(file.getAbsolutePath());
//获取文件对象的文件名或目录名
System.out.println(file.getName());
//获取文件对象的路径所对应的字符串
System.out.println(file.getPath());
//获取文件的长度
System.out.println(file.length());
}
//文件创建
public static void method02() throws IOException{
File file=new File("D:\\java\\d");
//创建文件
boolean flag=file.createNewFile();
System.out.println(flag);
}
//文件删除
public static void method03(){
File file=new File("D:\\java\\d");
//删除文件
boolean flag=file.delete();
System.out.println(flag);
}
//文件判断
public static void method04(){
File file = new File("D:\\java\\a.txt");
//判断该文件对象所对应的文件是否存在
System.out.println(file.exists());
//判断该文件是否是文件夹
System.out.println(file.isDirectory());
//判断该文件对象是否是文件
System.out.println(file.isFile());
}
//文件夹创建
public static void method05(){
File file = new File("D:\\java\\d\\a\\c");
boolean flag=file.mkdirs();
System.out.println(flag);
}
listFiles()方法
public static void main(String[] args) {
//method01();
//method02();
method03();
}
public static void method01(){
File file=new File("D:\\java");
//获取该路径下的文件和文件夹
String[] arr=file.list();
//遍历
for(String s:arr){
System.out.println(s);
}
}
public static void method02(){
File file=new File("D:\\java");
//获取该路径下的文件和文件夹所对应的文件对象
File[] files=file.listFiles();
for(File f:files){
System.out.println(f);
}
}
文件过滤器
public static void method03(){
File file=new File("D:\\java");
//获取该路径下的文件和文件夹所对应的文件对象
File[] files=file.listFiles(new MyFileFilter());
for(File f:files){
System.out.println(f);
}
}
public class MyFileFilter implements FileFilter{
public boolean accept(File pathname) {
//获取文件名
String filename=pathname.getName();
//判断该文件名是否以.txt结尾
boolean flag=filename.endsWith(".txt");
return flag;
}
}