更正输入文件以读取每一行

瑞安瑞克

我目前正在编写一个递归下降解析器。代码的目标是判断字符串是否在语言中。我需要读取一个包含多个字符串的文件(每行一个字符串)。目前它仅适用于文件中的第一个字符串,然后写入控制台。我在正确执行此操作时遇到问题,并使其读取每一行而不是第一行。任何帮助表示赞赏。(可能有不同的方法来解决这个问题,因为重写了很多代码以使其更充分......但我现在只是在寻找“简单”的解决方案)

问题所在的代码顶部:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Main
{
   static int ptr;
   static char[] input;
   public static void main(String[] args)
   {
       String str="";
       BufferedReader br = null;
       FileReader fr = null;
       try {

           fr = new FileReader("input.txt");
           br = new BufferedReader(fr);
           br = new BufferedReader(new FileReader("input.txt"));
           str = br.readLine(); 
          }
       catch (IOException e)
       {
           e.printStackTrace();
       }
       input = str.toCharArray();
       if(input.length < 2)
       {
           System.out.println("The string '"+str+"' is not in the language.");
           System.exit(0);
       }
       ptr = 0;
       boolean isValid = E();
       if((isValid) & (ptr == input.length))
       {
           System.out.println("The string '"+str+"' is in the language.");
       }
       else
       {
           System.out.println("The string '"+str+"' is not in the language.");
       }
   }

   static boolean E()
   {
       int fallback = ptr;
       if(input[ptr++] != '|')
       {
           ptr = fallback;
           return false;
       }
       if(P() == false)
       {
           ptr = fallback;
           return false;
       }
       if(O() == false)
       {
           ptr = fallback;
           return false;
       }

       return true;
   }
comdotlinux

如果可以使用 java8 那么为什么不使用 java nio 来读取所有行呢?https://docs.oracle.com/javase/8/docs/api/java/nio/file/Files.html#readAllLines-java.nio.file.Path-java.nio.charset.Charset-

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

读取 XML 文件的每一行

来自分类Dev

每读取一行输入文件,将文件扩展为多个.csv文件

来自分类Dev

读取CSV文件并使用每一行作为spock的where子句中的输入

来自分类Dev

如何读取输入文件并在每一行上执行操作

来自分类Dev

读取每一行并将其用作输入

来自分类Dev

Scala,读取文件操作每一行,将每一行插入列表

来自分类Dev

Scala读取文件并分割和修改每一行

来自分类Dev

如何读取文件的每一行并添加if语句?

来自分类Dev

Bash从文件读取并解析每一行

来自分类Dev

读取文件的每一行-批处理脚本

来自分类Dev

如何逐行读取文件并拆分每一行

来自分类Dev

从文件读取,但不是每一行

来自分类Dev

批处理脚本读取输入文本文件并为输入文本文件的每一行制作文本文件

来自分类Dev

仅从一行输入文件读取COBOL

来自分类Dev

脚本仅读取输入文件的最后一行

来自分类Dev

Perl读取每一行

来自分类Dev

读取多行输入总是无限循环,除非我打印每一行

来自分类Dev

将我从文件读取的每一行保存为其他文件

来自分类Dev

R-如何在读取文件之前计算文件每一行的列数

来自分类Dev

Linux Bash Shell 读取日志文件将每一行与文件的重置进行比较

来自分类Dev

从文件中读取行,遍历每一行以及该行中的每个字符

来自分类Dev

从文件中读取行并输出具有行号的每一行

来自分类Dev

从文件中读取行并输出具有行号的每一行

来自分类Dev

从文件中读取“n”行并将每一行分配给不同的变量

来自分类Dev

在JMeter中,一个用户如何连续读取CSV文件的每一行?

来自分类Dev

读取文件一列的每一行并执行grep

来自分类Dev

Unix:对输入文件的每一行执行grep命令,并将输出保存到文件

来自分类Dev

将文件中的每一行转换为输入文件

来自分类Dev

grep文件中的每一行

Related 相关文章

  1. 1

    读取 XML 文件的每一行

  2. 2

    每读取一行输入文件,将文件扩展为多个.csv文件

  3. 3

    读取CSV文件并使用每一行作为spock的where子句中的输入

  4. 4

    如何读取输入文件并在每一行上执行操作

  5. 5

    读取每一行并将其用作输入

  6. 6

    Scala,读取文件操作每一行,将每一行插入列表

  7. 7

    Scala读取文件并分割和修改每一行

  8. 8

    如何读取文件的每一行并添加if语句?

  9. 9

    Bash从文件读取并解析每一行

  10. 10

    读取文件的每一行-批处理脚本

  11. 11

    如何逐行读取文件并拆分每一行

  12. 12

    从文件读取,但不是每一行

  13. 13

    批处理脚本读取输入文本文件并为输入文本文件的每一行制作文本文件

  14. 14

    仅从一行输入文件读取COBOL

  15. 15

    脚本仅读取输入文件的最后一行

  16. 16

    Perl读取每一行

  17. 17

    读取多行输入总是无限循环,除非我打印每一行

  18. 18

    将我从文件读取的每一行保存为其他文件

  19. 19

    R-如何在读取文件之前计算文件每一行的列数

  20. 20

    Linux Bash Shell 读取日志文件将每一行与文件的重置进行比较

  21. 21

    从文件中读取行,遍历每一行以及该行中的每个字符

  22. 22

    从文件中读取行并输出具有行号的每一行

  23. 23

    从文件中读取行并输出具有行号的每一行

  24. 24

    从文件中读取“n”行并将每一行分配给不同的变量

  25. 25

    在JMeter中,一个用户如何连续读取CSV文件的每一行?

  26. 26

    读取文件一列的每一行并执行grep

  27. 27

    Unix:对输入文件的每一行执行grep命令,并将输出保存到文件

  28. 28

    将文件中的每一行转换为输入文件

  29. 29

    grep文件中的每一行

热门标签

归档