繁体   English   中英

Java:如何将单独的文本行从.txt文件保存到字符串数组?

[英]Java: How do I save seperate lines of text to a string array from a .txt file?

import java.util.*;
import java.io.*;

public class readFiles2 {

public static void main(String[] args) throws IOException{
    // TODO Auto-generated method stub

    BufferedReader reader = new BufferedReader(new FileReader("someFile.txt"));

    try{
        StringBuilder text = new StringBuilder();
        String readStringLine = reader.readLine();
        String[] lines= {};


        for(int i = 0; readStringLine != null; i++){
            readStringLine = reader.readLine();

            //Trying to save seperate lines of text in an array.
            lines[i] = readStringLine.toString();
        }

    }
    finally{
        reader.close();
    }


}

因此,我想做的是将.txt文件中的单独字符串行保存到String[]数组中。 我现在有点无所适从,真的不知道还能做什么。

由于您不知道数组中有多少个字符串,因此您可能希望将这些字符串放入列表中并在最后转换为数组:

String readStringLine;
List<String> lines = new ArrayList<String>();

while((readStringLine = reader.readLine()) != null) {
    lines.add(readStringLine);
}

String[] linesArray = lines.toArray(new String[lines.size()]);

编辑:简化为使用while循环从阅读器收集行。

ArrayList<String> line = new ArrayList<>(); FileReader file = new FileReader(file.txt); BufferedReader reader = new BufferedReader(file); while (reader.ready()) { line.add(reader.readLine()); reader.close(); file.close(); }

要访问,请使用line.get(i);。 其中i> = 0且i <= array.size

使用自动关闭界面和Java 8流:

String [] stringsArray = null;
try(BufferedReader br = new BufferedReader(new FileReader("someFile.txt"))) {
    List<String> strings = new ArrayList<>();
    br.lines().forEach(c -> strings.add(c));
    stringsArray = strings.toArray(new String[strings.size()]);
}

您需要Java 8才能运行此代码

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM