Java i / o在隐藏特定单词时读取文本

时间:2013-01-14 09:59:25

标签: 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(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();
            }
        }

    }
}

3 个答案:

答案 0 :(得分:2)

你的意思是

System.out.println(list.get(i).replaceAll("SECRET", "******");

答案 1 :(得分:0)

我没有看到需要使用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();
            }
        }
  }

答案 2 :(得分:0)

if(line.indexOf("SECRET") > -1){
   System.out.println("Has Secret");
   continue;
}