File类&递归

File类 递归

一、file类

概念:主要指Java中的文件或者文件夹类

注意事项:

1· 创建文件夹,不能有后缀,有后缀的是文件

2.file对象都是指代最后一级的那个文件或者文件夹

	/*	String[] list() 
	返回的字符串在该目录下的抽象路径名的文件和目录命名为数组*/ 
	File file = new File("F:/test");		
	String[] list = file.list();
	System.out.println(Arrays.toString(list));//[r.java, t.doc, t.txt, test.txt, test2, tu.jpg]
		
	/*File[] listFiles() 
	返回表示抽象路径名的目录中的文件的路径名表示抽象的数组。 */
	File file = new File("F:/test");	
	File[] listFiles = file.listFiles();
	System.out.println(Arrays.toString(listFiles));//[F:\test\t.doc, F:\test\t.txt, F:\test\test.txt, F:\test\test2, F:\test\tu.jpg]
	/*String[] list(FilenameFilter filter) 
	返回的字符串在该目录下的抽象路径名,满足指定的过滤器表示文件和目录命名数组*/ 
	File file = new File("F:/test");	
	String[] list2 = file.list(new FilenameFilter() {
		@Override
		public boolean accept(File dir, String name) {
			if(name.endsWith(".txt")){
				return true;
			}
			return false;
		}
	});
	System.out.println(Arrays.toString(list2));//[t.txt, test.txt]
		
	/*File[] listFiles(FilenameFilter filter) 
	返回表示的抽象路径名的文件和目录的目录,这个抽象路径名满足指定过滤器表示数组*/
	File file = new File("F:/test");
	File[] listFiles2 = file.listFiles(new FilenameFilter() {
		@Override
		public boolean accept(File dir, String name) {
			if(name.endsWith(".txt")){
				return true;
			}
			return false;
		}
	});
	System.out.println(Arrays.toString(listFiles2));//[F:\test\t.txt, F:\test\test.txt]
	/*File[] listFiles(FileFilter filter) 
	返回表示的抽象路径名的文件和目录的目录,这个抽象路径名满足指定过滤器表示数组 */
	File file = new File("F:/test");		
	File[] listFiles3 = file.listFiles(new FileFilter() {
		@Override
		public boolean accept(File pathname) {
			if (pathname.getName().endsWith(".txt")) {
				return true;
			}
			return false;
		}
	});
	System.out.println(Arrays.toString(listFiles3));//[F:\test\t.txt, F:\test\test.txt]

二、递归

在方法内部调用自己,就是递归

底层就是方法的多次调用,不满足结束条件的时候入栈,满足结束条件出栈

能用for循环就不要用递归,因为递归非常占用栈资源

技巧

1.先用数值带入法,写出前面几个值,观察其规律

2.将所有的已知条件写出来,未知条件用规律表示在内部调用自己

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值