专栏首页shimeath的Java学习常用方法(文件夹操作)

常用方法(文件夹操作)

方法名称

方法作用

mkdir()

创建目录(如目录树中有文件夹不存在就不创建)

mkdirs()

创建目录树

list()

返回String[]类型的子目录、子文件名

listFile()

File[]类型的子目录、子文件夹

static listRoots()

返回根目录(盘符)

命令设计模式:

:创建接口并实现,筛选扩展名为psd的文件

subFile = src.listFiles(new FilenameFilter() {
				@Override
				public boolean accept(File dir, String name) {//dir代表src
					return new File(dir, name).isFile() && name.endsWith(".psd");
				}
			});

基础练习:

package cn.hxh.io.file;

import java.io.*;

public class Demo04 {

	public static void main(String[] args) throws IOException {
		String path = "D:/aa";
		File src = new File(path);
		if (src.isDirectory()) {
			System.out.println("====子目录|子文件名====");
			String[] l = src.list();
			for(String s : l) {
				System.out.println(s);
			}
			System.out.println("====子目录|文件File对象====");
			File[] subFile = src.listFiles();
			for(File f: subFile) {
				System.out.println(f.getAbsolutePath());
			}
			System.out.println("====子目录|.txt对象====");
			//命令设计模式
			subFile = src.listFiles(new FilenameFilter() {
				
				@Override
				//dir代表src
				public boolean accept(File dir, String name) {
//					System.out.println(dir.getAbsolutePath());
					return new File(dir, name).isFile() && name.endsWith(".psd");
				}
			});
			for(File f: subFile) {
				System.out.println(f.getAbsolutePath());
			}
		}
	}

}

输出子孙级目录文件、名称:

package cn.hxh.io.file;

import java.io.*;
import java.util.Arrays;

public class Demo05 {

	public static void main(String[] args) {
		File src = new File("D:/Eclipse IDE for java developers");
		a(src);
//		File[] roots = File.listRoots();
//		for(File s : roots){
//			a(s);
//		}
	}

	public static void a(File src) {
		if (src == null || !src.exists())
			return;
		System.out.println(src.getAbsolutePath());
		if (src.isDirectory()) {
			for (File l : src.listFiles(/*new FilenameFilter() {
				@Override
				public boolean accept(File dir, String name) {
					return new File(dir, name).isFile() && name.endsWith(".psd");
				}
			}*/)) {
				a(l);
			}
		}
	}

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java基础知识(二)

    ​ 面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的,在70年代的Sma...

    shimeath
  • 常用方法(文件名操作)

    shimeath
  • 字节流---复制文件和文件夹

    shimeath
  • Java 并发编程中的死锁 ( Kotlin 语言讲解)

    在操作系统中的并发处理场景中, 进程对资源的持有与请求过程中,会产生死锁. Say, Process A has resource R1 , Process ...

    一个会写诗的程序员
  • Android日志文件的读写工具类

    砸漏
  • Java魔法堂:打包知识点之jar

    一、前言                                    通过eclipse导出jar包十分方便快捷,但作为码农岂能满足GUI的便捷呢?所...

    ^_^肥仔John
  • spark on yarn 如何集成elasticsearch

    我是攻城师
  • docker部署springboot项目

    dalaoyang
  • 短视频系统源代码,实现前置摄像头水平翻转

    yunbaokeji柯基
  • 如何修复Ubuntu 14.04 系统设置丢失的问题

    其实遇到这个问题的一个最主要的原因是之前执行过卸载ibus输入法的操作,所以为了避免这个问题请不要卸载ibus输入法,大家依然可以安装fcitx输入法使用。

    汐楓

扫码关注云+社区

领取腾讯云代金券