例子:已知文本文件(Userinfo.txt)如下图所示,数据是键值对形式的
写一个程序判断是否有admin这样的用户存在,如果有就改变密码为“56789”
import java.io.*;
import java.util.LinkedList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main{
public static void main(String[] args) {
String regex = "\\d+";
LinkedList<String> arr = new LinkedList<>();
try (BufferedReader reader = new BufferedReader(new FileReader(new File("Userinfo.txt")))) {
String line;
while ((line = reader.readLine()) != null) {
Pattern p = Pattern.compile("admin");
Matcher m = p.matcher(line);
if (m.find()) {
System.out.println(line.replaceAll(regex, "56789"));
arr.add(line.replaceAll(regex, "56789"));
continue;
}
arr.add(line);
}
} catch (IOException e) {
e.printStackTrace();
}
try (BufferedWriter writer = new BufferedWriter(new FileWriter(new File("Userinfo.txt")))) {
for (String string : arr) {
writer.write(string);
writer.newLine();
writer.flush();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
要求:已知文本文件(userinfo.properties)如下图所示,数据是键值对形式的
请写一个程序判断是否有admin这样的用户存在,如果有就改变密码为“56789”
import java.io.*;
import java.util.Properties;
public class Main {
public static void main(String[] args) throws IOException {
Properties properties = new Properties();
properties.load(new FileReader(new File("userinfo.properties")));
for (String str : properties.stringPropertyNames()) {
if (str.equals("admin")) {
properties.setProperty(str, "56789");
}
}
properties.store(new OutputStreamWriter(new FileOutputStream(new File("userinfo.properties"))), "demo");
}
}