FileSystemView使用讲解

本文介绍了Java中的FileSystemView类,包括如何创建文件对象、新建文件夹、获取目录信息等方法,并提供了实战演练链接,帮助理解文件扫描操作。

方法说明

  • createFileObject​(File dir, String filename) ——以目录+子文件名创建文件对象
  • createFileObject​(String path) ——以传入路径创建文件对象
  • createNewFolder​(File containingDir) ——在当前文件夹下新建一个文件夹
  • getChild​(File parent, String fileName) ——获取parent目录下的子文件
  • getDefaultDirectory() ——返回文件选择器的用户默认起始目录
  • getHomeDirectory() ——返回主目录
  • getParentDirectory​(File dir) ——返回dir的父目录
  • getRoots() ——返回系统上的所有根分区,Windows上返回的是“Desktop”
  • getSystemDisplayName​(File f) ——将在系统文件浏览器中显示的文件,目录或文件夹的名称
  • Icon getSystemIcon​(File f) ——将在系统文件浏览器中显示的文件,目录或文件夹的图标
  • getSystemTypeDescription​(File f) ——文件的类型说明
  • isComputerNode​(File dir) ——决定是否为计算机节点显示特殊图标
  • isDrive​(File dir) ——是否显示驱动器或分区的特殊图标,例如“硬盘”图标
  • isFileSystem​(File f) ——检查 f表示真实目录或文件,而不是特殊文件夹,如“Desktop”
  • isFileSystemRoot​(File dir) ——dir是否是文件系统中树的根,例如驱动器或分区
  • isFloppyDrive​(File dir) ——是否显示软盘的特殊图标
  • isHiddenFile​(File f) ——文件是否隐藏
  • isRoot​(File f) ——文件是否是可导航树中的根
  • isTraversable​(File f) ——文件是否可以访问

更多关于FileSystemView请参考:http://www.1024sky.cn/java11-zh/javadoc/java.desktop/javax/swing/filechooser/FileSystemView.html

实战演练:文件扫描

package t_fsv;

import java.io.File;
import java.io.IOException;

import javax.swing.filechooser.FileSystemView;

public class FileScaner {
	static final FileSystemView fsv = FileSystemView.getFileSystemView();

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		File scanDir = new File("D:\\Adobe Photoshop CS6");// 扫描的目录
		scan(scanDir);
	}

	// 扫描文件夹
	private static void scan(File dir) {
		File[] childs = fsv.getFiles(dir, false);// 获取子文件(包括隐藏)
		for (int i = 0; i < childs.length; i++)
			if (childs[i].isDirectory()) {
				System.out.println("扫描到文件夹:" + childs[i].getAbsolutePath());
				scan(childs[i]);
			} else
				System.out.println("扫描到文件:" + childs[i].getAbsolutePath());
	}
}

更多实战演练请参考:

  • https://blog.youkuaiyun.com/interestedly/article/details/113916750
  • https://blog.youkuaiyun.com/interestedly/article/details/113916779
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值