我想使用 .txt 将测试结果写入已创建的文本文件PrintStream。不幸的是我只知道这个声明
PrintStream out = new PrintStream(new FileOutputStream("Results.txt"))
Run Code Online (Sandbox Code Playgroud)
但这是创建一个新文件。new从语句中删除将不起作用。
那么,在Results.txt不删除先前结果/创建新结果的情况下写入的命令是什么?
我有以下代码:
public String replaceValues(String string, HashMap hashMap){
TestHashMap h = new TestHashMap();
String str = new String(h.xmlToString());
Iterator iterator = hashMap.entrySet().iterator();
while(iterator.hasNext()){
HashMap.Entry pair = (HashMap.Entry)iterator.next();
str = str.replaceAll(pair.getKey().toString(), pair.getValue().toString());
}
return str;
}
public static void main(String[] args) {
TestHashMap h = new TestHashMap();
HashMap<String, String> hmap = new HashMap<String, String>();
hmap.put("{username}", "Tudor");
hmap.put("{password}", "Tester123");
System.out.println(hmap);
String replace = h.replaceValues(h.xmlToString(), hmap);
System.out.println(replace);
}
Run Code Online (Sandbox Code Playgroud)
XML文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<hashmap>
<request>
<username>{username}</username>
<password>{password}</password>
</request>
</hashmap>
Run Code Online (Sandbox Code Playgroud)
抛出异常:非法重复.但是我没有办法逃避"{}"字符,因为我得到的方法是使用getKey()和getValue()方法,它按预期返回{password}和{username}.然而它打破了String replace = h.replaceValues(h.xmlToString(), hmap) …