提问人:xephsandar 提问时间:1/8/2022 更新时间:1/8/2022 访问量:419
在 Java 中替换文本文件中的特定字符串
Replacing a specific string from a text file in Java
问:
我有一个这样的文本文件:图像
第一列表示用户 ID,最后一列表示余额。我想遍历这些元素以查找特定的用户 ID,然后更新其余额。我已经设法匹配了用户 ID 并使用扫描仪访问余额,但我不确定如何使用新值更新文本文件中的余额。这是我目前编写的代码:
File file = new File("UserInfo.txt");
Scanner sc = new Scanner(file);
while(sc.hasNextLine()){
String info = sc.nextLine();
String data[] = info.split(" ");
//userId is a function argument
if(String.valueOf(userId).equals(data[0])){
//I want to update the balance in the text file with a new value here
}else{
continue;
}
}
sc.close();
答:
0赞
Paki
1/8/2022
#1
您似乎要创建一个 CSV 文件。我的建议是使用 “;” 作为 split() 命令的分隔符,如果文件不是太大,请读取整个文件,将其放入 arrayList of Strings 中,然后操作它,从 arrayList 重写最后的整个文件。否则,您必须使用 RandomAccess 类
0赞
Łukasz Karasiński
1/8/2022
#2
替换文件中的字符串并不是那么简单。您必须读取整个文件并重写要保持不变的部分。只有当比较条件满足时,您才会使用函数来更改用户余额。userID
data[0]
replace()
您的文件基本上是CSV文件,用空格作为行分隔符,如前所述,将文件内容存储在数组中或,更改适当的行,然后导出回CSV。BufferedReader
评论