java - java 读取并添加到文本文件

标签 java file text

我正在寻找以下问题的解决方案。我正在创建一个 .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/

相关文章:

java - 如何在 Java 程序中从 IdP-ADFS 获取用户?

scala - 如何在每行中添加行号?

java - 用Java将数组写入文件

jquery - 访问被拒绝 IE : form. Submit() 文件上传 jquery 插件

Java - 创建一个 RPG 对话框

python - 使用 Python 将 html 转换为文本

java - 防崩溃扫描仪--无限循环错误(开始java)

java - 担心使用 Java 和 JavaFX 部署 GUI 共享软件...运行时问题?

java - 从 int 强制转换为 byte 会导致 --- 线程中出现异常 "main"java.lang.NumberFormatException

c - 在 C 中将数字从文件保存到数组