小编Tud*_*dor的帖子

PrintStream - 如何在已经创建的文件中写入

我想使用 .txt 将测试结果写入已创建的文本文件PrintStream。不幸的是我只知道这个声明

PrintStream out = new PrintStream(new FileOutputStream("Results.txt"))
Run Code Online (Sandbox Code Playgroud)

但这是创建一个新文件。new从语句中删除将不起作用。

那么,在Results.txt不删除先前结果/创建新结果的情况下写入的命令是什么?

java printstream

1
推荐指数
1
解决办法
1493
查看次数

使用String.replaceAll()方法时出现非法重复异常

我有以下代码:

    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) …

java regex

-1
推荐指数
1
解决办法
248
查看次数

标签 统计

java ×2

printstream ×1

regex ×1