zoukankan      html  css  js  c++  java
  • Java—File

    File类

    1. 输出/写(output):把内存中的数据存储到持久化设备上

    2. 输入/读(input):把持久化设备的数据读取到内存中

    3. File类的创建以及文件名等获取操作

    import java.io.File;
    
    public class FileTest01 {
    	public static void main(String[] args) {
    		// 创建文件
    		// 路径注意使用通配符/,而不是\
    		// 使不同平台下的文件路径共通
    		File f1 = new File("e:/培训/AClass.java");
    		System.out.println(f1);
    		
    		File f2 = new File("e:/培训", "Hello.java");
    		System.out.println(f2);
    		
    		File dir = new File("e:/培训");
    		File f3 = new File(dir, "HelloWorld.java");
    		System.out.println(f3);
    		System.out.println("------------------------");
    		
    		
    		// 获取文件路径、文件名等
    		File f4 = new File("HelloWorld.java");
    		System.out.println(f4.getAbsolutePath());
    		System.out.println(f4.getName());
    		// File中封装的是什么就是什么
    		System.out.println(f4.getPath());
    		// 获取文件大小
    		System.out.println(f4.length());
    	}
    }
    

    输出结果:

    e:培训AClass.java
    e:培训Hello.java
    e:培训HelloWorld.java
    ------------------------
    E:javaSEday01day01HelloWorld.java
    HelloWorld.java
    HelloWorld.java
    0
    

    4. 文件和文件夹的创建和删除等

    public class FileTest02 {
    	public static void main(String[] args) throws IOException {
    		// 创建时,应该判断是否存在该目录
    		File f = new File("e:/abc");
    		
    		if(f.exists()){
    			// 创建目录,若创建为true;否则为false
    			boolean isCreate = f.createNewFile();
    			System.out.println(isCreate);
    		}else{
    			System.out.println("该目录不存在,请去创建!");
    			
    			// 创建目录单个,多个使用mkdirs()
    			boolean mkdir = f.mkdir();
    			System.out.println(mkdir);
    		}
    		
    		// 删除文件delete(),一般不建议使用
    		
    		// 判断是目录还是文件夹
    		System.out.println("----------------------------------");
    		File f1 = new File("E:/javaSE/day01/day01/src");
    		System.out.println(f1.isDirectory());
    		System.out.println(f1.isFile());
    		
    		// 浏览e:培训中的文件
    		System.out.println("----------------------------------");
    		File f2 = new File("e:/培训");
    		File[] files = f2.listFiles();
    		for(File file: files){
    			System.out.println(file);
    		}
    	}
    }
    

    5. 自定义文件过滤器

    5.1 方式一:实现FilenameFilter接口

    public class MyFilter01 implements FilenameFilter{
    
    	// 测试指定文件是否应该包含在某一文件列表中
    	@Override
    	public boolean accept(File dir, String name) {
    		return name.endsWith(".java");
    	}
    
    }
    

    5.2 方式二:实现FileFilter接口

    public class MyFilter02 implements FileFilter{
    
    	// 测定指定抽象路径名是否包含在某个路径名列表中
    	@Override
    	public boolean accept(File pathname) {
    		return pathname.isDirectory();
    	}
    
    }
    

    测试类

    public class FileTest03 {
    	/*
    	 * 自定义文件过滤器
    	 * 方式一:实现FilenameFilter
    	 * 方式二:实现FileFilter
    	 */
    	public static void main(String[] args) {
    		// 创建File对象
    		File f = new File("e:/培训");
    		
    		// 获取File对象下符合过滤条件的所有文件
    		//File[] files = f.listFiles(new MyFilter01());
    		
    		// 获取File对象下的文件夹
    		File[] files = f.listFiles(new MyFilter02());
    		for(File file: files){
    			System.out.println(file);
    		}
    	}
    }
    

    6. File类中的删除

    delete() & deleteOnExit()

    同:删除后不复存在

    桌面上的删除操作:文件会到回收站中,这相当于Java中文件的移动操作(流中进行讲解)

  • 相关阅读:
    逻辑分析推理(海盗分金问题)
    使用数组构建 ExtJs TreeStore 结构
    逻辑分析推理(找出轻球问题)
    逻辑分析推理(骗子购物问题)
    逻辑分析推理(戴帽子问题)博弈
    简单的排序算法(冒泡、选择、插入)
    逻辑分析推理(五小姐问题)
    逻辑分析推理(倒水问题)
    关于排序(快速排序)
    游戏开发基础(2)
  • 原文地址:https://www.cnblogs.com/nadou/p/13973126.html
Copyright © 2011-2022 走看看