`
lw4135
  • 浏览: 47418 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

属性文件对比工具类

    博客分类:
  • util
 
阅读更多
/*
  This file is part of BORG.

  BORG is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.

  BORG is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with BORG; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

  Copyright 2003 by Mike Berger
 */

package net.sf.borg.ui;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Properties;

/**
 *属性文件对比工具类
 *Author:liuwang
 *Creation time:2012年12月17日10:21
 */
public class PropertiesUtil {
	public static void main(String[] args) throws FileNotFoundException,
			IOException {
		String filePath = "c:\\borg_resource.properties";
		String filePath2 = "c:\\borg_resource_zh_CN.properties";
		distinct(filePath2, filePath);
	}

	/**
	 * 对比差异,后者独有属性
	 */
	public static void distinct(String filePath, String filePath2) {
		File file = new File(filePath);
		File file2 = new File(filePath2);
		FileInputStream fis = null;
		FileInputStream fis2 = null;
		try {
			fis = new FileInputStream(file);
			Properties prop = new Properties();
			prop.load(fis);
			fis2 = new FileInputStream(file2);
			Properties prop2 = new Properties();
			prop2.load(fis2);
			// ** 循环读取英文属性文件的key,去中文属性文件中查找,如果没找到就输出*//*
			Iterator itr2 = prop2.entrySet().iterator();
			while (itr2.hasNext()) {
				Entry e2 = (Entry) itr2.next();
				Iterator itr = prop.entrySet().iterator();
				Boolean flag = false;
				while (itr.hasNext()) {
					Entry e = (Entry) itr.next();
					if (e2.getKey().equals(e.getKey())) {
						// System.out.println("相同的key"+e2.getKey());
						flag = true;
						break;
					} else {
					}

				}
				if (!flag)
					System.out.println(e2.getKey() + " = " + e2.getValue());
			}
			sumOfPro(filePath);
			sumOfPro(filePath2);

			// fos2 = new FileOutputStream(file2);
			// prop.store(fos2, null);
		} catch (Exception e) { // TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			try {
				fis.close();
				fis2.close();
				// fos2.close();
			} catch (IOException e) { // TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

	/**
	 * 总属性个数
	 * @param filePath
	 * @throws FileNotFoundException
	 * @throws IOException
	 */
	public static void sumOfPro(String filePath) throws FileNotFoundException,
			IOException {
		Properties p = new Properties();
		p.load(new FileInputStream(new File(filePath)));
		Iterator itr = p.entrySet().iterator();
		int i = 0;
		while (itr.hasNext()) {
			Entry e = (Entry) itr.next();
			i++;
			// System.out.println(e.getKey());
		}
		System.out.println(filePath + "文件属性总数为:" + i);
	}
	/**
	 * 运行转码
	 * @return
	 */
	public static String toAscii() {
		try {
			Runtime.getRuntime()
					.exec("cmd.exe   /c   start   d:\\java\\jdk1.6\\bin\\native2ascii.exe");

		} catch (Exception e) {
			e.printStackTrace();
		}
		return "";
	}
}
分享到:
评论

相关推荐

    Properties 文件比较工具

    本项目提供了一个专门的“Properties文件比较工具”,它采用Java语言编写,能够帮助开发者快速检查和对比两个properties文件之间的差异,从而确保配置的一致性和正确性。 在Java中,`java.util.Properties`类是处理...

    Swift 文件和文件夹操作辅助工具类.zip

    - 获取文件大小、修改时间等属性:工具类可能会提供获取文件基本信息的方法,如大小、创建日期、最后修改时间等。 6. **文件权限管理**: - 权限检查与修改:在iOS和macOS中,文件访问受到权限限制。辅助类可能会...

    常用Java工具类

    Cookie工具类可以帮助开发者更容易地设置、读取和删除Cookie,支持处理Cookie的有效期、路径、域等属性。 以上工具类在实际开发中都有着广泛的应用,它们提高了代码的可复用性和可维护性,减少了重复的工作,使得...

    文件或文件夹对比工具

    在IT领域,文件或文件夹对比工具是一种非常实用的软件工具,它可以帮助用户快速检查两个文件或文件夹之间的差异,从而提高工作效率。本篇文章将详细阐述这类工具的重要性和使用方法,以及一个具体的例子——Beyond ...

    JAVA对象以及数据的工具类

    比如,Files类(在Java NIO.2中引入)提供了大量的文件操作方法,如读写文件、检查文件属性等。而在网络编程中,HttpURLConnection和HttpClient类可以帮助我们发送HTTP请求和处理响应。 总的来说,Java工具类是对...

    C#目录中文件对比工具源码

    在IT领域,尤其是在软件开发中,经常...总的来说,开发这样一个C#目录文件对比工具,需要掌握文件系统操作、数据比较、UI设计和异常处理等多个方面的知识。通过这个工具,用户可以有效地管理和分析文件,提高工作效率。

    工具类项目,开发经常用到的一些工具类

    6. **反射和类型转换**:对于Java开发,反射工具类可以简化对象实例化、属性访问和方法调用,而类型转换工具类则可以协助不同数据类型间的转换,如`TypeConversionUtils.convertIfNecessary()`。 7. **线程和并发**...

    java常用工具类汇总

    这个工具类库覆盖了字符串、文件、数组以及数学等多个方面,同时也提供了相应的API文档,使得开发者能够更好地理解和使用这些工具类。 1. **字符串工具类**: - 这部分可能包含了对字符串操作的扩展,如格式化、...

    hutool 工具类

    常用类辅助工具-比较器工具 常用类辅助工具-多线程工具 常用类辅助工具-缓存工具 常用类辅助工具-定时器工具 类和对象-反射工具 类和对象-类工具 系统工具-粘贴板工具 系统工具-运行时工具 系统工具-系统...

    很不错的文件对比工具

    首先,文件对比工具的核心功能是进行内容比较。这包括文本文件的逐行对比、代码文件的差异分析,甚至可以扩展到二进制文件如图片、音频等的元数据比对。这样的工具在协同开发、版本控制、文档校验等方面发挥着关键...

    apache工具类

    在描述中提到的 `StringUtil` 和 `CollectionUtils` 是Apache Commons中的两个核心工具类,它们分别针对字符串操作和集合操作提供了丰富的功能。让我们详细探讨一下这两个工具类以及其他可能的Util类。 **1. Apache...

    eclipse属性文件插件

    Eclipse属性文件插件是专为开发者设计的一款实用工具,主要用于高效、便捷地编辑Java项目的`.properties`文件。这些文件通常用于存储应用的配置信息,如国际化文本、系统设置等。该插件大大提升了在Eclipse集成开发...

    java常用的工具类整理28个

    在Java编程语言中,工具类(Utility Class)是包含各种静态方法的类,这些方法用于执行特定任务,如数据操作、文件处理、数学计算等。它们通常不包含实例变量,只提供静态方法服务,帮助开发者提高代码的复用性和...

    JAVA28个常用工具类

    4. **ClassUtils.java**: 类操作工具类,提供了一些辅助方法,比如加载类、检查类是否实例化、获取类的属性和方法等。在Spring框架中,有类似的名字为`org.springframework.util.ClassUtils`,它提供了很多实用的类...

    28个java常用的工具类源码

    5. **文件操作工具类**:如FileUtils,提供读写文件、创建目录、复制文件等常用功能,简化了文件操作。 6. **IO流工具类**:如IOUtils,用于处理输入输出流,支持读取、关闭、复制流等操作,防止资源泄露。 7. **...

    SpringBoot之自带工具类常用示例

    这些工具类涵盖了许多方面,包括日期时间处理、文件操作、字符串操作等。本篇将详细介绍Spring Boot中的一些常用工具类及其示例。 1. **`java.time` API** Spring Boot完全支持Java 8的日期时间API,如`...

    牛逼的java常用工具类

    10. **实用工具类**:如`Arrays`类提供了对数组的各种操作,`Objects`类提供了比较和哈希函数,`Optional`类用于表示可能为null的值,这些工具类都极大地增强了代码的可读性和安全性。 以上仅是可能包含在"牛逼的...

    常用工具类及xml配置

    在Java开发中,工具类和XML配置是两个非常重要的组成部分,它们极大地提高了代码的可读性和可维护性。本文将详细探讨这两个主题,并基于提供的文件名"xml配置"和"常用工具类"展开讨论。 首先,让我们从"常用工具类...

    30个java工具类

    Java工具类是程序员在开发过程中经常使用的类库,它们提供了各种通用的功能,使得代码更加简洁、高效。在Java中,工具类通常是静态方法的集合,用于处理常见的编程任务,如字符串操作、数学计算、日期时间处理等。...

    文件重复比较工具

    "FindDupFile.exe"是这样的一个重复文件比较工具,通常是一个可执行文件,用户可以直接运行来进行文件的对比分析。它通过比对文件内容的哈希值来判断文件是否相同,这种方法既快速又准确。下面我们将深入探讨这个...

Global site tag (gtag.js) - Google Analytics