Java i/o在隐藏特定单词的同时读取文本
在每次出现单词SECRET时,您将如何阅读下面的文本? 全文如下: 这条线有一个秘密的字 这条线没有一个 这句话有两个秘密的字 这条线没有Java i/o在隐藏特定单词的同时读取文本,java,io,bufferedreader,name-hiding,Java,Io,Bufferedreader,Name Hiding,在每次出现单词SECRET时,您将如何阅读下面的文本? 全文如下: 这条线有一个秘密的字 这条线没有一个 这句话有两个秘密的字 这条线没有 import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.ArrayList; public class BufferedReadertest { public static void main(St
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class BufferedReadertest {
public static void main(String[] args) {
ArrayList <String>list = new ArrayList<>();
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader("secretwords.txt"));
while ((sCurrentLine = br.readLine()) != null) {
list.add(sCurrentLine);
}
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
导入java.io.BufferedReader;
导入java.io.FileReader;
导入java.io.IOException;
导入java.util.ArrayList;
公共类BufferedReadertest{
公共静态void main(字符串[]args){
ArrayList=新建ArrayList();
BufferedReader br=null;
试一试{
弦电流线;
br=新的BufferedReader(新的文件阅读器(“secretwords.txt”);
而((sCurrentLine=br.readLine())!=null){
列表。添加(当前行);
}
对于(int i=0;i
你是说喜欢吗
System.out.println(list.get(i).replaceAll("SECRET", "******");
我觉得有必要使用ArrayList。替换
SECRET
并在迭代缓冲读取器时打印消息
public static void main(String[] args) {
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader("secretwords.txt"));
while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine.replaceAll("SECRET", ""));
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
还不够清楚。如果性能不是问题(更具体地说是在内存中加载整个字符串),请尝试更具体地对结果字符串进行替换?如果找到“secret”一词,您将如何删除整个段落。例如:如果在一个段落中有4行,并且找到了“secret”一词,则应删除整个段落。@在包含“secret”一词的段落或句子?段落中。您需要在StringReader的每次迭代中将文本存储到StringBuilder中。一旦遇到空行,您将检查StringBuilder的内容并有条件地显示。
if(line.indexOf("SECRET") > -1){
System.out.println("Has Secret");
continue;
}