我正在寻找以下问题的解决方案。我正在创建一个 .txt 文件,然后向其中添加值。我正在运行一个循环,并且不希望在 txt 文件中重复相同的值。因此,基本上我需要一个 IF 语句来读取 .txt 文件并检查该值,然后将其添加到 .txt 文件中(如果该文件中还没有该值)。下面是一些 myt 代码的示例。
String Friends = Dave.get(friends);
String file = "C:/Users/george.bell/Desktop/Failed2/failedraces.txt";
FileWriter fw = new FileWriter(file,true);
BufferedWriter bw = new BufferedWriter(fw);
If statement goes here to see if Dave's friends are already in the .txt file
bw.write(Friends);
bw.newLine();
bw.close();
所以基本上我想知道如何检查 .txt 文件中的值。
.txt 文件的格式如下:
Jake
Mike
Fred
最佳答案
您必须检查哪些 friend 不在文本文件中,因此将他们捕获并放入列表中:
String file = "C:/Users/george.bell/Desktop/Failed2/failedraces.txt";
BufferedReader in = new BufferedReader(new FileReader(file));
String str;
List<String> friendsInFile = new ArrayList<String>();
while((str = in.readLine()) != null){
friendsInFile.add(str);
}
您可以使用 Apache Commons IO 实现相同的目的
String file = "C:/Users/george.bell/Desktop/Failed2/failedraces.txt";
List<String> friendsInFile = IOUtils.readLines(new FileInputStream(file));
然后您可以使用 List.contains()
方法创建 if,迭代 Dave 的 friend List
for (String friend : dave.getFriends()) {
if (!friendsInFile.contains(friend)) {
// add the friend to the file
}
}
关于java - java 读取并添加到文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30394074/