Java 通过扫描仪将txt文件的一行指定给字符串

Java 通过扫描仪将txt文件的一行指定给字符串,java,java.util.scanner,Java,Java.util.scanner,正如标题所解释的,我正在尝试将每一行分配给一个字符串(我的最终目标是让它从文本文件中提取一行,然后使用下面的行作为答案,然后重复此操作直到文件完成),现在我只将整个文件分配给一个字符串(行)。这是我的密码- import java.io.*; import java.util.Scanner; import java.lang.*; import javax.swing.JOptionPane; public class Test { public static void main(Stri

正如标题所解释的,我正在尝试将每一行分配给一个字符串(我的最终目标是让它从文本文件中提取一行,然后使用下面的行作为答案,然后重复此操作直到文件完成),现在我只将整个文件分配给一个字符串(行)。这是我的密码-

import java.io.*;
import java.util.Scanner;
import java.lang.*;
import javax.swing.JOptionPane;

public class Test {

public static void main(String[] args) {

    // Location of file to read
    File file = new File("a.txt");

    try {

        Scanner scanner = new Scanner(file);

        while (scanner.hasNextLine()) {
            String line = scanner.nextLine();
            JOptionPane.showInputDialog("" + line);
        }
        scanner.close();
    } catch (FileNotFoundException e) {
     System.out.println("Can't find file");  
    }

}
}

感谢您提供的任何帮助,或者使用其他导入的解决方法-谢谢。

现在执行时,您的行变量只包含执行结束时文件的最后一行。如果要存储每一行,可以将它们放在字符串的ArrayList中:

ArrayList<String> lines = new ArrayList<String>();
....
while (scanner.hasNextLine()) {
    String line = scanner.nextLine();
    lines.add(line);
    JOptionPane.showInputDialog("" + line);
}
ArrayList line=new ArrayList();
....
while(scanner.hasNextLine()){
字符串行=scanner.nextLine();
行。添加(行);
JOptionPane.showInputDialog(“+”行);
}

现在执行时,line变量只包含执行结束时文件的最后一行。如果要存储每一行,可以将它们放在字符串的ArrayList中:

ArrayList<String> lines = new ArrayList<String>();
....
while (scanner.hasNextLine()) {
    String line = scanner.nextLine();
    lines.add(line);
    JOptionPane.showInputDialog("" + line);
}
ArrayList line=new ArrayList();
....
while(scanner.hasNextLine()){
字符串行=scanner.nextLine();
行。添加(行);
JOptionPane.showInputDialog(“+”行);
}

您可以使用
字符串的
数组列表
来存储从文件中读取的行:

public static void main(String[] args) {

    // Location of file to read
    File file = new File("a.txt");
    List<String> lines = new ArrayList<String>();

    try {

        Scanner scanner = new Scanner(file);

        while (scanner.hasNextLine()) {
            lines.add(scanner.nextLine();
        }
        scanner.close();
    } catch (FileNotFoundException e) {
     System.out.println("Can't find file");  
    }
}

您可以使用
String
ArrayList
来存储从文件中读取的行:

public static void main(String[] args) {

    // Location of file to read
    File file = new File("a.txt");
    List<String> lines = new ArrayList<String>();

    try {

        Scanner scanner = new Scanner(file);

        while (scanner.hasNextLine()) {
            lines.add(scanner.nextLine();
        }
        scanner.close();
    } catch (FileNotFoundException e) {
     System.out.println("Can't find file");  
    }
}