我正在尝试创建一个实用程序:
从放置在文件系统上的.plh
文件中提取占位符。
通过分隔的键值对创建哈希映射。
在整个文件中替换键值。
将输出文件写入文件系统。
我可以使用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();
}
}
}
}
}