java - 带有数组列表的 I/O

标签 java string arraylist

我只是想知道是否有一种方法可以循环遍历文本文件,直到找到特定的字符串。 例如,假设您有一个文本文件,其中包含以下内容:

香蕉

苹果

葡萄

甜瓜

橙色

樱桃

草莓巧克力 Vanilla

我基本上想编写一个程序,循环遍历输入文件,直到到达用户指定的特定字符串,然后将下一行存储在数组列表中。所以,基本上说,如果我估算樱桃,我希望它将草莓、巧克力、 Vanilla 存储在数组列表中。对于我的一生,我无法弄清楚如何做到这一点,所以任何事情都会受到赞赏。到目前为止我所拥有的如下。

public static void main(String[] args) throws IOException {
        String line;
        ArrayList<String> names = new ArrayList<>();
        Scanner in = new Scanner(System.in);
        System.out.print("Enter the input file: ");
        String input = in.next();
        FileReader file = new FileReader(input);

        BufferedReader reader = new BufferedReader(file);

        System.out.print("What fruit do you want: ");
        String fruit = in.next();
        line = reader.readLine();


        while ((line != null)) {
            if(line.equals(fruit){
          }
            }

最佳答案

只需循环输入,直到遇到搜索到的行,然后将找到的每一行存储在列表中。

    String line;

    while((line = reader.readLine()) != null)
        if(line.equals(fruit))
            break;

    ArrayList<String> lines = new ArrayList<>();
    while((line = reader.readLine()) != null)
        lines.add(line);

关于java - 带有数组列表的 I/O,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43543397/

相关文章:

java swing Graphics2d 抽绳不工作

c# - 返回可为空的字符串类型

string - 戈兰 : verify that string is a valid hex string?

java - 为什么我无法对这个 ArrayList 进行排序?

Java Struts2 - 如何使用 struts 标签创建数组列表,由用户填充,然后将值传递给操作?

Java - 使用 Rectangle2D.Double 设置 ArrayList

java - Android 中通过蓝牙发送数据

java - jrat - java 分析失败

r - 如何从字母向量枚举字符串

java - Spring 批 : dynamic chunk size