Java FileReader:如何将文本文件中的每一行分配给一个变量

Java FileReader: How to assign every line in the text file to a variable

我希望我的文本文档中的每一行都分配给一个变量。

import java.io.*;
import static java.lang.System.*;

class readfile {
    public static void main(String[] args) {
        try {
            FileReader fr = new FileReader("filename");
            BufferedReader br = new Buffered(fr);
            String str;
            while ((str = br.readLine()) != null) {}
            br.close();
        } catch (IOException e) {
            out.println("file not found");
        }
    }
}

我建议您创建一个列表并将每一行存储在如下列表中:

 String str;
 List<String> fileText = ....;
 while ((str = br.readLine()) != null) {
     fileText.add(str);
 } 

一个Java 8 创建行列表的解决方案

 Path path = Paths.get("filename");
 List<String> lines = Files.lines(path).collect(Collectors.toList());

我愿意

 List<string> allText= new List<String>();
 While(str.hasNextLine){
    allText.add(str.nextLine);
 }

为什么要将每一行添加到一个单独的变量中?最好将行添加到列表中。然后你可以访问任何你想要的线路。

在JDK6岁或以下

List<String> lines = new ArrayList<String>();
while(reader.ready())
     lines.add(reader.readLine());

在JDK7或以上

List<String> lines = Files.readAllLines(Paths.get(fileName),
                    Charset.defaultCharset());