gpt4 book ai didi

java - 审查输入文本文件并将其写入输出文本文件

转载 作者:行者123 更新时间:2023-12-02 11:56:14 24 4
gpt4 key购买 nike

我正在编写一个程序,输入单词列表和禁用单词列表。然后,它将通过将该文件中的任何禁用单词更改为星号来“审查”原始单词列表。最后,它将把经过审查的单词列表写入输出文件。这是我到目前为止所拥有的

import java.util.*;
import java.io.*;

public class Assignment_5 {
public static void main(String[] args) {
try{
ArrayList<String> bWords = new ArrayList<String>();
ArrayList<String> words = new ArrayList<String>();
Scanner sc = new Scanner(new FileInputStream ("banned.txt"));
PrintWriter pw = new PrintWriter ("output.txt");
while(sc.hasNext()){
bWords.add(sc.next());
}
sc = new Scanner(new FileInputStream("input.txt"));
while (sc.hasNext())
words.add(sc.next());

String replacement = "test";
for (int i = 0; i < words.size(); i++){
for (int j = 0; j < bWords.size(); j++){
if (words.get(i).compareTo(bWords.get(j)) == 0){
for (int k = 0; k < words.get(i).length(); k++)
replacement = "*";
words.set(i, replacement);
replacement = "";
}
}

for(i=0; i< words.size(); i++){
pw.println(words.get(i));
}
pw.close();
}
}
catch(Exception e){
System.out.println(e.toString());
}

它可以正常编译并创建一个“output.txt”文件,但该文件是空白的。我似乎不明白为什么它不起作用。任何帮助都会很棒

UDPATE:它现在打印出来,因为我在 PrintWriter 前面添加了一个 for 循环(在代码中更新),但现在它只打印输入,而不打印经过审查的输入

最佳答案

PrintWriter pw = new PrintWriter ("output.txt");

这行代码正在一次又一次地重写文件。你能做的就是把它排除在循环之外。另外,不要忘记在循环结束后关闭流。

pw.close()

关于java - 审查输入文本文件并将其写入输出文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47582227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com