/*
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文件比较工具”,它采用Java语言编写,能够帮助开发者快速检查和对比两个properties文件之间的差异,从而确保配置的一致性和正确性。 在Java中,`java.util.Properties`类是处理...
- 获取文件大小、修改时间等属性:工具类可能会提供获取文件基本信息的方法,如大小、创建日期、最后修改时间等。 6. **文件权限管理**: - 权限检查与修改:在iOS和macOS中,文件访问受到权限限制。辅助类可能会...
Cookie工具类可以帮助开发者更容易地设置、读取和删除Cookie,支持处理Cookie的有效期、路径、域等属性。 以上工具类在实际开发中都有着广泛的应用,它们提高了代码的可复用性和可维护性,减少了重复的工作,使得...
在IT领域,文件或文件夹对比工具是一种非常实用的软件工具,它可以帮助用户快速检查两个文件或文件夹之间的差异,从而提高工作效率。本篇文章将详细阐述这类工具的重要性和使用方法,以及一个具体的例子——Beyond ...
比如,Files类(在Java NIO.2中引入)提供了大量的文件操作方法,如读写文件、检查文件属性等。而在网络编程中,HttpURLConnection和HttpClient类可以帮助我们发送HTTP请求和处理响应。 总的来说,Java工具类是对...
在IT领域,尤其是在软件开发中,经常...总的来说,开发这样一个C#目录文件对比工具,需要掌握文件系统操作、数据比较、UI设计和异常处理等多个方面的知识。通过这个工具,用户可以有效地管理和分析文件,提高工作效率。
6. **反射和类型转换**:对于Java开发,反射工具类可以简化对象实例化、属性访问和方法调用,而类型转换工具类则可以协助不同数据类型间的转换,如`TypeConversionUtils.convertIfNecessary()`。 7. **线程和并发**...
这个工具类库覆盖了字符串、文件、数组以及数学等多个方面,同时也提供了相应的API文档,使得开发者能够更好地理解和使用这些工具类。 1. **字符串工具类**: - 这部分可能包含了对字符串操作的扩展,如格式化、...
常用类辅助工具-比较器工具 常用类辅助工具-多线程工具 常用类辅助工具-缓存工具 常用类辅助工具-定时器工具 类和对象-反射工具 类和对象-类工具 系统工具-粘贴板工具 系统工具-运行时工具 系统工具-系统...
首先,文件对比工具的核心功能是进行内容比较。这包括文本文件的逐行对比、代码文件的差异分析,甚至可以扩展到二进制文件如图片、音频等的元数据比对。这样的工具在协同开发、版本控制、文档校验等方面发挥着关键...
在描述中提到的 `StringUtil` 和 `CollectionUtils` 是Apache Commons中的两个核心工具类,它们分别针对字符串操作和集合操作提供了丰富的功能。让我们详细探讨一下这两个工具类以及其他可能的Util类。 **1. Apache...
Eclipse属性文件插件是专为开发者设计的一款实用工具,主要用于高效、便捷地编辑Java项目的`.properties`文件。这些文件通常用于存储应用的配置信息,如国际化文本、系统设置等。该插件大大提升了在Eclipse集成开发...
在Java编程语言中,工具类(Utility Class)是包含各种静态方法的类,这些方法用于执行特定任务,如数据操作、文件处理、数学计算等。它们通常不包含实例变量,只提供静态方法服务,帮助开发者提高代码的复用性和...
4. **ClassUtils.java**: 类操作工具类,提供了一些辅助方法,比如加载类、检查类是否实例化、获取类的属性和方法等。在Spring框架中,有类似的名字为`org.springframework.util.ClassUtils`,它提供了很多实用的类...
5. **文件操作工具类**:如FileUtils,提供读写文件、创建目录、复制文件等常用功能,简化了文件操作。 6. **IO流工具类**:如IOUtils,用于处理输入输出流,支持读取、关闭、复制流等操作,防止资源泄露。 7. **...
这些工具类涵盖了许多方面,包括日期时间处理、文件操作、字符串操作等。本篇将详细介绍Spring Boot中的一些常用工具类及其示例。 1. **`java.time` API** Spring Boot完全支持Java 8的日期时间API,如`...
10. **实用工具类**:如`Arrays`类提供了对数组的各种操作,`Objects`类提供了比较和哈希函数,`Optional`类用于表示可能为null的值,这些工具类都极大地增强了代码的可读性和安全性。 以上仅是可能包含在"牛逼的...
在Java开发中,工具类和XML配置是两个非常重要的组成部分,它们极大地提高了代码的可读性和可维护性。本文将详细探讨这两个主题,并基于提供的文件名"xml配置"和"常用工具类"展开讨论。 首先,让我们从"常用工具类...
Java工具类是程序员在开发过程中经常使用的类库,它们提供了各种通用的功能,使得代码更加简洁、高效。在Java中,工具类通常是静态方法的集合,用于处理常见的编程任务,如字符串操作、数学计算、日期时间处理等。...
"FindDupFile.exe"是这样的一个重复文件比较工具,通常是一个可执行文件,用户可以直接运行来进行文件的对比分析。它通过比对文件内容的哈希值来判断文件是否相同,这种方法既快速又准确。下面我们将深入探讨这个...