替换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();

您似乎想要创建一个CSV文件。我的建议是使用"作为split((命令的分隔符,如果文件不是太大,则读取整个文件,将其放入字符串的arrayList中,然后对其进行操作,从arrayList中重写最后的整个文件。否则,您必须使用RandomAccess类

替换文件中的字符串并不是那么简单。您必须读取整个文件,并重写要保持不变的部分。只有当满足比较userIDdata[0]的条件时,才可以使用replace()函数来更改用户余额。

您的文件基本上是以空格作为行分隔符的CSV文件,如前所述,将文件内容存储在数组或BufferedReader中,更改相应的行,然后导出回CSV。

最新更新