Java-如何从文本文件而不是整个文件中读取一行(使用缓冲读取器)

问题描述 投票:-1回答:2

我正在尝试编写一段代码,使用缓冲的阅读器从Java中的文本文件中读取一行文本。例如,代码将输出文本文件中的单行,然后键入其内容,然后输出下一行,依此类推。

到目前为止,我的代码-

公共类JavaApplication6 {

public static String scannedrap;
public static String scannedrapper;

public static void main(String[] args) throws FileNotFoundException, IOException {
    File Tunes;
    Tunes = new File("E:\\NEA/90sTunes.txt");

    System.out.println("Ready? Y/N");
    Scanner SnD;
    SnD = new Scanner(System.in);
    String QnA = SnD.nextLine();

    if (QnA.equals("y") || QnA.equals("Y")) {

        System.out.println("ok, starting game...\n");
        try {

            File f = new File("E:\\NEA/90sTunes.txt");

            BufferedReader b = new BufferedReader(new FileReader(f));

            String readLine = "";

            while ((readLine = b.readLine()) != null) {
                System.out.println(readLine);
            }

        } catch (IOException e) {

        }
    }
}

输出-

  1. 准备好了吗?是/否
  2. y
  3. 好,开始游戏...
  4. (然后是整个文本文件)

但是我希望实现类似这样的输出-

  1. 准备好了吗?是/否
  2. y
  3. 好,开始游戏...
  4. ((输出文件的第一行)
  5. 请输入(输出的行)

&然后重复此过程,遍历文本文件中的每一行,直到到达文本文件的末尾(它将在其中输出“游戏完成”之类的信息)...不是措辞最好的问题,但感谢您的帮助:)

java file java.util.scanner bufferedreader filereader
2个回答
0
投票

此代码块逐行读取整个文件,而无需停止询问用户输入:

        while ((readLine = b.readLine()) != null) {
            System.out.println(readLine);
        }

考虑向语句主体添加一条语句,以从用户那里寻求一些输入,就像上面在询问它们是否准备好时所做的那样(您只需要向循环中添加一行代码,就像将值分配给QnA)


0
投票

这将读取第一行“ .get(0)”。

String line0 = Files.readAllLines(Paths.get("enter_file_name.txt")).get(0);
© www.soinside.com 2019 - 2024. All rights reserved.