`
Beaver's
  • 浏览: 397491 次
  • 性别: Icon_minigender_2
  • 来自: 天津
社区版块
存档分类
最新评论

遍历一个文件夹根据文件扩展名将文件分类

阅读更多
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

public class FileClassify {

	private static void classify(String filePath, String target) {
		try {
			int k = filePath.lastIndexOf("/");
			String fileName = filePath.substring(k);
			File in = new File(filePath);
			target = target + fileName;
			File out = new File(target);
			FileInputStream inFile = new FileInputStream(in);
			FileOutputStream outFile = new FileOutputStream(out);
			byte[] buffer = new byte[1024];
			int i = 0;
			while ((i = inFile.read(buffer)) != -1) {
				outFile.write(buffer, 0, i);
			}
			inFile.close();
			outFile.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public static List bianli(File dir) {
		List fileList = new ArrayList();

		if (!dir.exists()) {
			System.out.println("File dosen't exist:" + dir);
			return null;
		} else if (!dir.isDirectory())
			fileList.add(dir);
		else {
			File[] fe = dir.listFiles();
			for (int i = 0; i < fe.length; i++) {
				if (fe[i].isDirectory())
					fileList.addAll(bianli(fe[i]));
				else
					fileList.add(fe[i]);
			}
		}
		return fileList;
	}

	public static void main(String[] args) throws Exception {

		List files = bianli(new File("F:\\mirror\\"));
		for (int i = 0; i < files.size(); i++) {
			String filePath = ((File) files.get(i)).toURI().toString();// 这里filePath值为file:/F:/mirror/...
			filePath = filePath.substring(6);// 取文件实际路径,即"F:/mirror/..."
			if ((filePath != null) && filePath.length() > 0) {
				int j = filePath.lastIndexOf('.');
				if ((j > -1) && (j < (filePath.length() - 1))) {
					String exn = filePath.substring(j + 1);
					if (exn.equals("wsdl") || exn.equals("asmx")) {
						classify(filePath, "d:/wsdl");
					} else if (exn.equals("htm") || exn.equals("html")) {
						classify(filePath, "d:/htm");
					}

				}
			}
		}
	}
}
分享到:
评论

相关推荐

    PHP递归寻找指定文件夹的所有文件,并且按照扩展分好目录

    在这个示例中,`classifyFiles()`函数会遍历`源目录`下的所有文件和子目录,根据文件扩展名将文件移动到`texts`、`images`、`scripts`等对应的分类目录下。请注意替换`源目录`为实际要处理的目录路径,并根据需要...

    folder-sorter:根据文件扩展名将文件夹分类为文件夹,为文件夹创建“文件夹”文件夹

    总的来说,"folder-sorter"是一个使用Python编写的实用工具,它能帮助用户高效地管理文件,通过自动根据文件扩展名分类,使文件结构更加清晰。用户只需运行这个程序,即可实现文件的自动归类,提升工作和生活的数字...

    根据文件名分成不同的文件夹(文件归档)

    本文将深入探讨如何根据文件名将文件分成不同的文件夹,这是一个高效的文件组织策略,能够帮助用户快速定位和管理文件。我们将讨论相关的文件操作、时间戳比较以及文件创建等相关知识点。 首先,我们需要理解“文件...

    BAT批处理脚本-文件相关操作-按扩展名分类.bat.zip

    在“BAT批处理脚本-文件相关操作-按扩展名分类.bat.zip”这个压缩包中,包含了一个名为“按扩展名分类.bat.txt”的文件,这显然是一份批处理脚本,用于根据文件的扩展名将文件进行分类。 批处理脚本的核心在于其...

    文件扩展名批量修改器

    1. 批量选择:允许用户选择一个文件夹,程序将自动读取其中所有文件的路径,并显示在列表中,以便用户进行下一步操作。 2. 自定义新扩展名:用户可以输入新的文件扩展名,该扩展名将应用于所选的所有文件。 3. 预览...

    搜索磁盘按照扩展名分类写入文本

    这个功能可以帮助用户高效地整理硬盘上的文件,根据文件的扩展名将它们分门别类,并将每个扩展名对应的文件全路径名写入到单独的文本文件中。这样的做法使得用户可以方便地查看和管理大量文件,特别是当文件数量庞大...

    批量二维码图片离线检测识别工具可以在家学习

    识别二维码根据的是文件内容,即使扩展名为其他的,只要文件内容是图片编码都可识别  完全离线的软件,升级和更新在GitHub查看 能够批量排查图片是否包含二维码以及识别二维码链接 支持单个图片包含多个二维码...

    python_files_sorter:根据文件扩展名将文件移动到目录(音乐,视频,图像等)中

    在Python编程领域,`python_files_sorter`是一个实用的脚本,它的主要功能是依据文件的扩展名自动将文件归类到不同的目录中,例如将音乐文件移动到“音乐”目录,视频文件移动到“视频”目录,图像文件则放到“图像...

    python读取当前目录下的CSV文件数据

    接下来,通过遍历当前目录下的所有文件,并使用`os.path.splitext()`方法检查文件扩展名来确定哪些文件是CSV格式的。这些文件名将被添加到`file_names`列表中: ```python import os def get_csv_files(): # 将...

    python实现根据文件格式分类

    本文详细介绍了如何使用Python语言对文件进行分类管理,根据文件的扩展名将它们归类到不同的文件夹中。这在处理大量不同类型文件时非常有用,特别是当需要对特定类型的文件进行批量操作,如备份、压缩、上传等。 ...

    pyufp:ufp 库 python 版本。 各种方便的功能集合

    量化应用于灰度图像更改图像颜色深度从图像边缘提取高频颜色从图像中删除边距通过限制搜索深度递归遍历路径移动文件夹的所有内容以指定格式的字符串获取文件的最后修改时间合并父路径和子路径获取目录中经过过滤的...

    FileEntropy:按类型组织文件,删除重复项,并减少索引内容的熵

    它通过检查文件扩展名将文件分到相应的类别中。例如,所有 `.jpg` 文件会被归类到图片文件夹,`.txt` 文件归类到文本文件夹,以此类推。这种分类方式有助于用户快速找到所需文件,同时使文件结构更具逻辑性。 ### ...

    PowerShell实现批量重命名文件

    这里`$_.Extension`是一个PowerShell的自动变量,其中`$_`代表当前遍历到的每一个文件对象。 接下来,我们定义新的文件名`$newName`。这里使用了字符串格式化的方式,`'pic_{0:d6}{1}'`表示我们要创建一个新的字符...

Global site tag (gtag.js) - Google Analytics