将占位符替换为另一个文件中的文件

时间:2014-10-08 08:47:14

标签: java python regex

我正在尝试创建一个实用程序:

  1. 从放置在文件系统上的.plh文件中提取占位符。

  2. 通过分隔的键值对创建哈希映射。

  3. 在整个文件中替换键值。

  4. 将输出文件写入文件系统。

  5. 我可以使用Python和Java创建哈希映射。关于字符串替换部分遵循什么方法我很困惑。在这两种语言中是否有类似于sed -i [regex]的内容?

    以下是我写的代码:

    public class PlaceHolderReplace
    {
            public static void main(String[] args)
            {
                    Map<String,String> map= new HashMap<String,String>();
                    Properties prop = new Properties();
                    InputStream input = null;
                    InputStream msg= null;
                    String msgString= null;
                    try
                    {
                            input = new FileInputStream("placeholders.plh");
                            msg= new FileInputStream("test.xml");
                            prop.load(input);
                            Enumeration e = prop.propertyNames();
                            while(e.hasMoreElements())
                            {
                                    String key = (String)e.nextElement();
                                    map.put(key,prop.getProperty(key));
                            }
                            for(String key:map.keySet())
                            {
                                    //System.out.println("Key ="+key+", value ="+map.get(key));
    
                            }
                    }
                    catch(IOException e)
                    {
                            e.printStackTrace();
                    }
                    finally
                    {
    if(input != null)
                            {
                                    try
                                    {
                                            input.close();
                                    }
                                    catch(IOException e)
                                    {
                                            e.printStackTrace();
                                    }
                            }
                    }
            }
    }
    

0 个答案:

没有答案