文件的基本操作(创建、删除、重命名、遍历)

  1. 文件的创建
    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());
		
	}

}

  1. 文件的删除
    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());
	}

}
  1. 文件的重命名 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")));
	}

}

  1. 文件的遍历
    .
    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());
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值