`
sunway
  • 浏览: 114745 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

今天写的拷贝某个目录下所有符合要求的文件名到某个指定文件名的工具类

阅读更多

今天因为想把eclipse语言插件下的所有jar包的名字放到build.xml中,一开始用F2的方法手工的拷名字,结果458个文件实在太烦了,就写了个工具类,大家可以参考。

package org.sunway.util;

import java.io.File;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.OutputStreamWriter;

public class ReadFileName {

	private static String prefx = "";
	private static String suffix = "";
	public static String getPrefx() {
		return prefx;
	}
	public static void setPrefx(String prefx) {
		ReadFileName.prefx = prefx;
	}
	public static String getSuffix() {
		return suffix;
	}
	public static void setSuffix(String suffix) {
		ReadFileName.suffix = suffix;
	}
	
	public String readFileNamesFromDirectory(String absolueFilePath,final String fileSuffix){
		StringBuffer sb = new StringBuffer();
		File dir = new File(absolueFilePath);
		if(dir.exists() && dir.isDirectory()){
			File[] files = dir.listFiles(new FilenameFilter(){

				public boolean accept(File dir, String name) {
					// TODO Auto-generated method stub
					return name.endsWith(fileSuffix);
				}
				
			});
			for(int i=0;i<files.length;i++){//没有考虑目录下还有目录的情况
				if(files[i].isFile()){
					sb.append("			")
					.append(getPrefx())
					.append(files[i].getName())
					.append(getSuffix())
					.append("\n");
				}
			}
		}
		return sb.toString();
	}
	/**
	 * 生成文件
	 * */
	public static void write(String  filename, String s) throws IOException {
		write(new File(filename), s, "UTF-8");
	}
	
	public static void write(File file, String s) throws IOException {
		write(file, s, "UTF-8");
	}

	public static void write(File file, String s, String encoding)
			throws IOException {
		if (file.getParent() != null)
			mkdirs(file.getParent());
		OutputStreamWriter bw = new OutputStreamWriter(new FileOutputStream(
				file), encoding);
		bw.flush();
		bw.write(s);
		bw.close();
	}
	
	/**
	 * 创建目录
	 * */
	public static void mkdirs(String pathName) {
		File file = new File(pathName);
		if (!file.exists())
			file.mkdirs();
	}

	
	  //取得指定扩展名的文件列表
	  public static FilenameFilter getFileExtensionFilter(String extension) {
		final String _extension = extension;
		return new FilenameFilter(){
			public boolean accept(File dir, String name) {
				// TODO Auto-generated method stub
				return (name.endsWith(_extension) && dir.isFile());
			}
			
		};
	  }
	  
	  public static void main(String[] args) {
		ReadFileName readFileName = new ReadFileName();
		String prefix = "<pathelement path=\"${languagePlugin}/plugins/";
		readFileName.setPrefx(prefix);
		readFileName.setSuffix("\"/>");
		try {
			String content = readFileName.readFileNamesFromDirectory("E:\\Language\\Language\\plugins", "jar");
			readFileName.write("D:\\temp.txt", content);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

 

分享到:
评论

相关推荐

    文件批量拷贝、重命名工具类 for java.zip

    使用这些工具类时,开发者需要确保输入参数的正确性,比如源文件或目录是否存在,目标路径是否可写等。此外,为了提高性能,可能还需要考虑异步处理批量任务,或者采用流式处理大文件,避免一次性加载整个文件到内存...

    一键拷贝小工具

    标题中的“一键拷贝小工具”指的是一个设计用于提高工作效率的实用程序,它允许用户快速地复制编辑框内的命令或文本到剪贴板。这样的工具在处理重复性工作,如编写脚本或复制多行代码时,能显著节省时间。在IT行业中...

    ACR磁盘拷贝工具

    "ACR磁盘拷贝工具"是一款专门用于磁盘克隆和数据迁移的软件,它在IT领域中扮演着重要角色。此工具的主要功能是帮助用户高效、安全地复制整个硬盘或分区的内容,以实现数据备份、系统迁移或硬件更换等目的。在描述中...

    VS2008下批量拷贝文件,显示进度条拷贝个数和当前拷贝字节_更新

    在VS2008环境下,这样的任务可以通过编程实现,同时为了提供良好的用户体验,我们还需要实时显示拷贝的进度,包括拷贝的文件个数和当前拷贝的字节数。本知识点将详细介绍如何在VS2008下实现这一功能,并解决拷贝完成...

    烂碟拷贝器——拷贝损坏的光盘

    这个文件名暗示这可能是该工具的主执行程序,负责执行上述拷贝和恢复过程。用户通常只需运行此程序,按照向导提示操作,即可开始拷贝损坏光盘的过程。 **readme.txt和更新信息.txt:** 这两个文本文件是常见的软件...

    C#获取文件夹内文件名字符工具及源代码

    `Directory`类提供了许多静态方法,用于操作目录,如获取目录下的所有文件;`FileInfo`类则用来处理单个文件的信息。 要获取文件夹内的所有文件名,我们可以使用`Directory.GetFiles()`方法。这个方法接受一个路径...

    【Java基础】-- FileUtils工具类常用方法(csdn)————程序.pdf

    在本文中,我们将详细介绍FileUtils工具类的一些常用方法,包括读取文件、拷贝文件、拷贝目录以及删除文件和目录等。 1.1. 读取文件 FileUtils提供了一些静态方法来读取文件内容,如`readFileToString`用于将整个...

    Java常用工具类(免费)

    ### Java常用工具类详解 #### 一、日期工具类 [DateUtil] 在Java开发中,对日期的操作是非常常见的需求之一。下面将详细介绍DateUtil中的一些关键功能。 ##### 1. 计算给定时间至今的天数:`long date2day(String...

    数据拷贝软件

    在实际应用中,数据拷贝软件还可以与其他IT工具结合,比如集成到自动化脚本中,实现定时备份或数据迁移。此外,对于企业用户,软件的易用性、稳定性和安全性都是需要考虑的因素。例如,它是否提供日志记录,以便追踪...

    VC 实现拷贝U盘内容

    对于初学者,理解并实现这些功能可能有一定难度,但通过逐步学习和实践,你可以构建出一个可靠的U盘内容拷贝工具。而提供的压缩包文件"UDiskMonitor"可能是一个完整的或部分实现此功能的示例代码,供你参考和学习。

    BatchRename批量复制,拷贝工具

    Directory类的GetFiles和GetDirectories方法可以帮助程序获取指定路径下的文件和子目录,而FileInfo类则提供了文件的基本属性,如名称、大小、创建时间等。 **提高工作效率** 批量处理是提高工作效率的关键。...

    批量复制文件小工具

    批量复制功能的核心在于自动化,它允许用户输入文件或文件夹的源路径,并指定目标位置,程序会自动遍历并复制所有指定的文件。这样不仅提高了效率,还减少了人为错误的可能性。工具通常提供图形用户界面(GUI),...

    卡读写镜像工具

    这类工具通常能够帮助用户创建存储卡的镜像文件,或者将镜像文件写入到存储卡中,这对于数据备份、系统恢复或制作启动盘来说非常实用。在描述中提到了它可替代“Win32DiskImager”,这表明该工具具有类似的功能,但...

    jspSmartUpload 使用教程

    - 将解压后的目录中的子目录 `Web-inf` 改名为全部大写的 `WEB-INF`,这是因为 Tomcat 对文件名大小写敏感,并且要求 Web 应用程序的相关类所在的目录为 `WEB-INF` 且必须是大写。 - 重启 Tomcat 服务器后,即可在...

    windows实用dos命令大全

    1.功能:显示指定驱动器上所有目录路径和这些目录下的所有文件名。  2.类型:外部命令  3.格式:TREE[盘符:][/F][》PRN]  4.使用说明:  (1)使用/F参数时显示所有目录及目录下的所有文件,省略时,只显示...

    值得分享的超全文件工具类FileUtil

    - 如果需要将raw文件夹中的某个文件复制到用户指定的目录,可以使用copyRawFile方法来实现。这个方法可以用于初始化数据文件、配置文件等。 4. 基本的文件读写操作 - FileUtil也提供了基本的文件读写操作readFile...

    Linux系统的熟悉与使用操作系统实验报告.pdf

    + 选项-R:显示出目录下、及其所有子目录的文件名 * 显示当前的工作目录:使用pwd命令 * 阅读文件内容:使用cat、more命令,格式为cat filename、more filename、cat filename | more * 改变工作目录:使用cd命令,...

    烂碟拷贝软件

    "烂碟拷贝软件"是一种专门用于复制有损坏或低质量的光盘的工具,它能够在数据不完整或者存在读取错误的情况下尽可能地恢复和复制光盘上的信息。这类软件通常具备高级的数据纠错功能,能够处理划痕、污渍、物理损伤等...

    简单了解Spring中常用工具类

    例如,FileCopyUtils 是一个非常有用的工具类,提供了许多一步式的静态操作方法,能够将文件内容拷贝到一个目标 byte[]、String 甚至一个输出流或输出文件中。 例如,可以使用以下代码来拷贝文件内容: ```java ...

    linux以及unix的常用命令

    22. **拷贝文件**:`cp 从文件夹/文件名 到文件夹` - 复制文件到指定位置,`.` 代表当前目录。 在 Linux 系统中,文件传输通常通过 FTP 客户端进行。例如,使用 Windows 的命令行界面进行 FTP 传输: - `cd E:\...

Global site tag (gtag.js) - Google Analytics