java文件编程

该博客展示了如何使用Java进行文件重命名、目录遍历以及应用过滤器查找特定类型的文件。通过`File`类的`renameTo()`方法实现文件和目录的重命名,包括在同一目录和不同目录下的操作。此外,还利用`FilenameFilter`接口创建了一个过滤器,用于在指定目录下查找以.java结尾的文件。
摘要由CSDN通过智能技术生成

下面测试一个函数renameTo(File dest):

import java.io.File;

public class RenameFile {
    public static void main(String[] args) {
        //同一目录下,记得把文件路径写全
        File file = new File("F:\\pxx\\pxx1604285880956216.txt");
        File destFile = new File("F:\\pxx\\test1_copy.txt");
        file.renameTo(destFile);

        //同一个目录下,目录也能改名
        File file1 = new File("F:\\pxx\\sql");
        File destFile1 = new File("F:\\pxx\\sql_copy");
        file1.renameTo(destFile1);


        //不同目录下,对于文件就是剪切操作
        File file2 = new File("F:\\pxx\\test1_copy.txt");
        File destFile2 = new File("F:\\test1_copy_copy.txt");
        file2.renameTo(destFile2);

        //不同目录下,对于目录也是剪切
        File file3 = new File("F:\\pxx\\sql_copy");
        File destFile3 = new File("F:\\sql_copy_copy");
        file3.renameTo(destFile3);

        File file4 = new File("F:\\pxx\\haha");
        File destFile4 = new File("F:\\haha_copy");
        file4.renameTo(destFile4);

    }
}

下面来说目录的遍历:

 我们先来写一个过滤器文件:

MyFilter:

import java.io.File;
import java.io.FilenameFilter;

public class MyFilter implements FilenameFilter {
    @Override
    public boolean accept(File dir, String name) {
        //dir是这个目录句柄,name代表句柄下的文件与目录
        //传入list或者listFiles(然后把每一个文件与文件夹进行匹配处理)
        return name.endsWith(".java");
    }
}

整体代码:

import java.io.File;

/**
 *
 * 找一个文件夹,遍历所有名字是java的文件
 */
public class ListFile1 {
    public static void main(String[] args) {
        File file = new File("D:\\java");
        findJavaFile1(file);
    }

    public static void findJavaFile(File file) {
        File[] filename = file.listFiles();//拿到所有文件与文件夹
        System.out.println("java文件:");
        for(File data : filename) {
           if(data.isFile() && data.getName().endsWith(".java")) {
               System.out.println(data.getName());
           }
        }
    }

    //过滤器做这件事儿
    public static void findJavaFile1(File file) {
        File[] fileObj = file.listFiles(new MyFilter());
        for(File data : fileObj) {
            if(data.isFile()) {
                System.out.println(data.getName());
            }
        }
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值