File类
1.常用的创建File类对象的命令和创建文件或者文件夹
import java.io.File;
import java.io.IOException;
public class DemoCreateFile {
public static void main(String[] args) throws IOException {
File file = new File("D:\\aaa");
File file1 = new File("D:/aaa");
File file2 = new File("D:"+File.separator+"aaa");
System.out.println(file);
System.out.println(file1);
System.out.println(file2);
File file3= new File(file,"bbb");
System.out.println(file3);
File file4 = new File("D:/aaa", "1.txt");
System.out.println(file4);
File file5 = new File("D:/aaa/bbb");
System.out.println("创建文件夹是否成功:" + file5.mkdir());
File file6 = new File("D:/aaa/bbb/1.txt");
System.out.println("创建文件是否成功:"+file6.createNewFile());
File file7 = new File("D:/aaa/花儿乐队.txt");
System.out.println("创建文件是否成功:"+file7.createNewFile());
File file8 = new File("D:/aaa/bbb/ccc/ddd");
System.out.println("文件夹创建成功:" + file8.mkdirs());
file6.renameTo(new File("D:/aaa/bbb/2.txt"));
new File("D:/aaa/bbb/2.txt").renameTo(new File("D:/aaa/bbb/ccc/3.txt"));
new File("D:/aaa/花儿乐队.txt").renameTo(new File("D:/aaa/bbb/5.txt"));
}
}
2.删除文件或者文件夹
import java.io.File;
import java.util.Scanner;
public class DeleteFile {
public static void main(String[] args) {
File file = new File("D:/aaa/bbb/1.txt");
System.out.println(file.delete());
File file1 = new File("D:/aaa/bbb/ccc/ddd");
System.out.println(file1.delete());
File file2 = new File("D:/aaa/bbb/2.txt");
file2.deleteOnExit();
new Scanner(System.in).nextLine();
System.out.println("程序运行结束");
}
}
3.有关文件或文件夹判断方法
import java.io.File;
public class BooleanFile {
public static void main(String[] args) {
System.out.println(new File("D:/aaa/bbb/5.txt").isFile());
System.out.println(new File("D:/aaa/bbb/ccc").isDirectory());
System.out.println(new File("D:/aaa/bbb/5.txt").exists());
System.out.println(new File("D:/aaa/bbb/5.txt").isHidden());
System.out.println(new File("D:/aaa/bbb/5.txt").isAbsolute());
}
}
4.获取文件或文件夹的属性
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
public class FileWay {
public static void main(String[] args) {
String s = "D:/aaa/bbb/ccc/2.txt";
File file = new File(s);
System.out.println(file.getName());
System.out.println(file.getPath());
System.out.println(file.getAbsolutePath());
System.out.println(file.getParent());
System.out.println(file.length());
long time = file.lastModified();
System.out.println(time);
SimpleDateFormat sf = new SimpleDateFormat("YYYY-MM-dd HH-mm-ss");
System.out.println(sf.format(new Date(time)));
}
}
5.获取文件夹里边的文件
import java.io.File;
public class FilePath {
public static void main(String[] args) {
File[] listRoots = File.listRoots();
for (File file : listRoots) {
System.out.println(file);
}
File filel = new File("D:/aaa");
String[] list = filel.list();
for (String string : list) {
System.out.println(string);
}
System.out.println();
File[] listFiles = filel.listFiles();
for (File file : listFiles) {
System.out.println(file);
}
}
}
6.文件过滤器
import java.io.File;
import java.io.FilenameFilter;
class MyFilter implements FilenameFilter {
@Override
public boolean accept(File dir, String name) {
return new File(dir, name).isFile() && name.endsWith(".java");
}
}
public class FilenameFieterTest {
public static void main(String[] args) {
File file = new File("D:\\aaa\\bbb\\ccc");
File[] listFiles = file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return new File(dir,name).isFile() && name.endsWith(".txt");
}
});
for (File file2 : listFiles) {
System.out.println(file2);
}
}
}
7.文件归档代码
import java.io.File;
import java.io.FilenameFilter;
public class TestType {
public static void main(String[] args) {
File file = new File("D:/aaa/bbb/test");
classily(file);
}
public static void classily(File file) {
file.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
int index = name.lastIndexOf(".");
if(new File(dir,name).isDirectory()) {
new File("D:/aaa/文件夹").mkdir();
new File(dir,name).renameTo(new File("D:/aaa/文件夹/" + name));
} else if(index >= 0) {
String str = name.substring(index+1);
new File("D:/aaa/bbb/"+str).mkdir();
new File(dir,name).renameTo(new File("D:/aaa/bbb/"+str+"/"+name));
} else {
new File("D:/aaa/bbb/Other").mkdir();
new File(dir,name).renameTo(new File("D:/aaa/bbb/Other/"+name));
}
return true;
}
});
}
}