将匹配后的所有内容存储在字符串中的数组列表中

我有一个方法,它获取一个文件,其中包含一个 txt 文件的路径作为参数。缓冲读取器将一些行读入数组列表。到目前为止一切顺利,但现在我需要将每个元素存储在字符串中的特定元素之后。


示例:我在这个数组列表中有一个元素,在我点击这个元素之后它是'=' 我想将这个元素之后的每个元素存储到一个字符串中。


我玩弄了循环和 if 语句,但找不到解决方案。


    //Just for debugging purpose at some point i want to store a temperature in here and return it to Main

    int temp = 1;


    List<String> sensor_Daten = new ArrayList<>();


    try

    {

        BufferedReader reader =  new BufferedReader(new   FileReader(path));

        String line;


        while ((line = reader.readLine()) != null)

        {

            sensor_Daten.add(line);

        }

    }

    catch (IOException IOEx)

    {


    }


    return temp;


ITMISS
浏览 106回答 1
1回答

凤凰求蛊

它不应该太难:BufferedReader reader =&nbsp; new BufferedReader(new&nbsp; &nbsp;FileReader(path));String line;boolean isWordFound = false;while ((line = reader.readLine()) != null)&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp;&nbsp;&nbsp; &nbsp; // add the line in the list if the word was found&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; if (isWordFound()){&nbsp; &nbsp; &nbsp; sensor_Daten.add(line);&nbsp; &nbsp; }&nbsp; &nbsp; // flag isWordFound to true when the match is done the first time&nbsp; &nbsp; if (!isWordFound && line.matches(myRegex)){&nbsp; &nbsp; &nbsp; isWordFound = true;&nbsp; &nbsp; }&nbsp;}作为旁注,您不会在应该关闭流时关闭它。该try-with-resource声明会为您做到这一点。所以你应该赞成这种方式。概括地说:BufferedReader reader = ...;try{&nbsp; &nbsp; reader =&nbsp; new BufferedReader(new&nbsp; &nbsp;FileReader(path));}finally{&nbsp; try{&nbsp; &nbsp; reader.close();&nbsp; &nbsp;}&nbsp; catch(IOException e) {...}}应该只是:try(BufferedReader reader = new BufferedReader(new FileReader(path))){&nbsp; &nbsp; ...}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java