下面测试一个函数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());
}
}
}
}