-
文件的创建
public boolean createNewFile() 若文件不存在则创建新文件
1.表示创建文件,不能够创建文件夹
2.如果文件存在,创建失败,返回false
3.该方法会抛出一个编译时异常 IOException
public boolean mkdir() 创建文件夹(目录) make Directory
1.表示创建文件夹
2.如果文件夹存在,创建失败,返回false
3.该方法不会抛出异常
public boolean mkdirs() 创建目录及不存在的父目录
1.创建连续的文件夹
2.如果文件存在,创建失败,返回false
3.该方法不会抛出异常重点:1.凡是对文件的操作,必须先创建文件指针指向你需要操作的文件
2.文件的创建之前,指针所指向的位置所对应的父目录文件一定要存在,否则 会抛出IOException
public class File01 {
public static void main(String[] args) throws IOException {
//File的创建
//在工程目录下创建文件 a.txt
File f=new File("a.txt");
System.out.println(f.createNewFile());
//在工程目录下创建文件夹 aaa
File f1=new File("aaa");
System.out.println(f1.mkdir());
//在工程目录下创建 aaa/bbb/ccc/a.txt
File f2=new File("aaa/bbb/ccc");
File f3=new File(f2,"a.txt");
System.out.println(f2.mkdirs());
System.out.println(f3.createNewFile());
}
}
- 文件的删除
public boolean delete() 删除文件及空目录
注意:删除带内容的文件夹需要递归删除,但是递归删除之前需要先遍历文件夹中所有的文件和文件夹,这叫批量删除
public class File01 {
public static void main(String[] args) throws IOException {
//删除文件
File f=new File("a.txt");
System.out.println(f.delete());
//删除文件夹(空目录)
File f1=new File("test");
System.out.println(f1.delete());
}
}
- 文件的重命名 public boolean renameTo(File dest) 重命名为dest 注意:如果
源文件和目标文件父目录一致,就是直接 更名
如果源文件和目标文件父目录不一致,就是直接 剪切+更名
public class File01 {
public static void main(String[] args) throws IOException {
//将a.txt改成b.txt
File f=new File("a.txt");
System.out.println(f.renameTo(new File("b.txt")));
File f1=new File("aaa/bbb/ccc/a.txt");
System.out.println(f1.renameTo(new File("c.txt")));
}
}
- 文件的遍历
.
public String[] list() 返回file下的文件和目录名称(字符串)
public File[] listFiles() 返回file下的文件和目录(文件)
public String[] list(FilenameFilter filter) 根据filter过滤返回file下文件和目录名称
public File[] listFiles(FileFilter filter) 根据filter过滤返回file下文件和目录
public class FileDemo06 {
public static void main(String[] args) {
// 需求: 遍历com.sxt.filedemo目录下的所有文件
File f = new File("src/com/sxt/filedemo");
String[] fileNames = f.list();
for (String fileName : fileNames) {
System.out.println(fileName);
}
System.out.println("===================");
File[] files = f.listFiles();
for (File file : files) {
System.out.println(file.getName() + "|" + file.getAbsolutePath());
}
System.out.println("===================");
// public String[] list(FilenameFilter filter)
fileNames = f.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
File f = new File(dir, name);
return f.isFile() && name.endsWith(".txt");
}
});
System.out.println(Arrays.toString(fileNames));
System.out.println("===================");
files = f.listFiles(new FileFilter() {
@Override
public boolean accept(File f) {
return f.isFile() && f.getName().endsWith(".txt");
}
});
for (File file : files) {
System.out.println(file + "|" + file.getAbsolutePath());
}
}
}