`
q_wong
  • 浏览: 108960 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

处理Properties

阅读更多

拼接两个Properties文件

一个英文一个中文翻译

中文转码为Unicode

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;

public class ParseProperties
{
    
    public static void main(String args[]) throws FileNotFoundException,
            IOException
    {
        Properties resource = new Properties();
        Properties translate = new Properties();
        resource.load(new FileInputStream(new File(
                "./resource/resource.properties")));
        translate.load(new FileInputStream(new File(
                "./resource/translate2.properties")));
        
        BufferedReader reader = new BufferedReader(new FileReader(
                "./resource/resource.properties"));
        BufferedWriter writer = new BufferedWriter(new FileWriter(
                "./resource/target.properties"));
        
        BufferedReader reader2 = new BufferedReader(new FileReader(
                "./resource/translate2.properties"));
        Map<String, String> map = new HashMap<String, String>();
        
        String tempStr;
        while ((tempStr = reader2.readLine()) != null)
        {
            if (tempStr.contains("="))
            {
                String key = tempStr.substring(0, tempStr.indexOf("=")).trim();
                String value = tempStr.replace(tempStr.substring(0,
                        tempStr.indexOf("=") + 1),
                        "").trim();
                System.out.println(toUnicode(value));
                map.put(key, toUnicode(value));
            }
        }
        
        while (null != (tempStr = reader.readLine()))
        {
            if (tempStr.contains("="))
            {
                String key = tempStr.substring(0, tempStr.indexOf("=")).trim();
                tempStr = "        " + key + " = en-us#"
                        + resource.getProperty(key) + "@zh-cn#" + map.get(key);
            }
            writer.write(tempStr);
            writer.newLine();
        }
        writer.flush();
        writer.close();
        
    }
    
    public static String toUnicode(String str)
    {
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < str.length(); i++)
        {
            char c = str.charAt(i);
            if (isSpeChar_zh_cn(c))
            {
                sb.append("\\u");
                sb.append(Integer.toHexString(str.charAt(i)));
            }
            else
            {
                sb.append(c);
            }
        }
        return sb.toString();
    }
    
    /** 
     * 判断指定的实体是否属于中文
     */
    private static boolean isSpeChar_zh_cn(int nEntity)
    {
        return ((nEntity >= 0x4E00 && nEntity <= 0x9FA5)
                || (nEntity >= 0xFF01 && nEntity <= 0xFF5E)
                || (nEntity >= 0xFF61 && nEntity <= 0xFF9F)
                || (nEntity >= 0xFFE0 && nEntity <= 0xFFE6)
                || (nEntity >= 0xFFE8 && nEntity <= 0xFFEE)
                || (nEntity >= 0x3000 && nEntity <= 0x3029)
                || (nEntity >= 0x3030 && nEntity <= 0x3037) || nEntity == 8220 //全角左双引号
                || nEntity == 8221 //全角右双引号
                || nEntity == 8216 //全角左单引号
                || nEntity == 8217 //全角右单引号
                || nEntity == 9678 //◎
                || nEntity == 8230 //…
        || nEntity == 8251 //※
        );
    }
    
}
 
分享到:
评论

相关推荐

    解决Properties写中文乱码

    你可以查看这些源代码,学习如何正确处理Properties文件中的中文字符,避免乱码问题。通过对源代码的分析和实践,你将能更深入地理解Java I/O流、字符编码以及配置文件的处理方法,提升你的编程技能。

    excel与properties文件相互转换

    - **Java**:Apache POI库可以帮助读写Excel文件,Java的内置`Properties`类可以处理Properties文件。 - **Python**:`openpyxl`库处理Excel文件,`configparser`模块处理Properties文件。 - **Python pandas**:...

    JAVA 解决Properties文件保存中文乱码

    首先,我们需要理解Java默认使用ISO-8859-1编码来处理Properties文件。由于此编码不支持大部分中文字符,因此在保存或加载包含中文的Properties文件时,必须指定正确的字符编码,通常是UTF-8。 ### 1. 保存中文到...

    myeclipse properties editor 插件

    总结,MyEclipse Properties Editor插件是开发者处理properties文件的强大工具,通过提供直观的界面和丰富的功能,使properties文件的管理变得简单而高效。熟练掌握这一插件的使用,将极大提升Java开发的生产力和...

    Eclipse properties插件,可以用来查看properties文件

    使用Eclipse properties插件,开发者可以在不离开IDE的情况下高效处理Properties文件,这对于Java开发来说是一个非常实用的辅助工具,尤其是在处理大量的配置信息或者进行国际化开发时。通过熟练掌握这个插件,能够...

    eclipse插件 properties插件 properties编辑插件

    Eclipse是一款广泛使用的Java集成开发环境(IDE),它支持多种编程语言和开发工具。Properties文件在Java编程中扮演着重要角色,...因此,对于经常处理Properties文件的Java开发者来说,这个插件是必不可少的工具之一。

    java 动态修改Properties,src下或者指定路径

    在Java编程中,有时我们需要在运行时动态地修改配置...总之,Java提供了丰富的API来处理Properties文件,允许我们在运行时动态修改配置,这对于测试和调试非常有用,但需注意确保在生产环境中正确管理和保护配置信息。

    Java语言对properties资源文件的处理

    在深入探讨Java语言如何处理properties资源文件之前,我们先来明确一下properties文件的基本概念和用途。Properties文件是一种常用的配置文件格式,在Java开发中被广泛应用于存储应用的各种配置信息,如数据库连接...

    读取properties文件

    #### 处理Properties文件的高级功能 除了基本的读取操作,`Properties`类还提供了其他有用的功能,包括: - **写入属性**:使用`setProperty(key, value)`方法可以向`Properties`对象添加新的键值对,或者更新已有...

    Properties插件文件

    这对于频繁处理Properties文件的开发人员来说,无疑提高了工作效率。 在使用MyEclipse的Properties插件时,开发者需要注意以下几点: - **编码设置**:确保文件的编码与项目设置和预期的系统环境相匹配,避免乱码...

    java解析读取properties文件的6中方法总结

    Java提供内置的`java.util.Properties`类来处理Properties文件。首先,我们需要加载文件内容,然后加载到Properties对象中。以下是一段示例代码: ```java Properties props = new Properties(); ...

    使用J2SE API读取Properties文件的六种方法

    如果你直接需要处理Properties文件,可以使用`PropertyResourceBundle`构造函数。例如: ```java String name = "config.properties"; InputStream in = new BufferedInputStream(new FileInputStream(name)); ...

    MyEclipse Properties 插件

    总的来说,MyEclipse Properties插件是Java开发者不可或缺的工具之一,它使得在MyEclipse中处理Properties文件变得轻松高效。通过提供丰富的编辑功能和便捷的操作,它有助于优化开发流程,提高生产力。如果你在...

    eclipse下properties文件中文乱码的解决方案

    最理想的解决方法是借助于专门设计用于处理Properties文件的Eclipse插件——PropertiesEditor。该插件不仅能够解决中文乱码问题,还能提供更丰富的编辑功能,提升开发效率。用户可以在官方推荐的网站上下载并安装此...

    读取以及修改properties文件

    - 使用`java.util.Properties`类:这是Java提供的标准类,用于处理Properties文件。首先,我们需要加载文件到Properties对象中,然后可以通过关键字获取对应的值。 ```java Properties prop = new Properties(); ...

    java读写properties文件,解决系统找不到指定路径,解决写入后读取正常,但文件数据未更新问题

    在处理Properties文件时,可能会遇到几个常见的问题,包括找不到指定路径、读取正常但文件数据未更新的情况。以下是对这些问题的详细解答。 首先,让我们解决“系统找不到指定路径”的问题。在Java中,加载...

    spring读取properties

    Spring框架提供了强大且灵活的机制来处理Properties文件的读取和注入,这对于构建可配置性强、易于维护的应用程序至关重要。通过上述步骤,开发者能够轻松地管理和利用外部配置信息,使应用更加适应多变的运行环境。...

    读取Properties信息工具类

    这样的工具类能够使代码更具有可维护性和复用性,避免在多个地方重复处理Properties文件。 下面将详细解释Properties类的核心概念和如何创建一个用于读取Properties信息的工具类: 1. **Properties类介绍**: - ...

    Birt改变properties文件,在报表的initialize函数中

    在BIRT报表脚本中,首先需要导入处理properties文件所需的Java包,如`java.util.Properties`用于管理属性集,`java.io.File`和`java.io.FileInputStream`以及`java.io.FileOutputStream`用于文件读写操作。...

    java Properties文件key,value读取

    首先,我们需要引入`java.util.Properties`类,这是Java提供用来处理Properties文件的核心类。以下是一个简单的示例,展示如何加载和读取Properties文件: ```java import java.io.InputStream; import java.util....

Global site tag (gtag.js) - Google Analytics