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

Java:如何将单独的文本行从.txt文件保存到字符串数组中?,java,arrays,string,file,object,Java,Arrays,String,File,Object,所以我要做的是将.txt文件中的字符串单独保存到String[]数组中。我现在有点不知所措,不知道还能做些什么。由于您不知道数组中有多少字符串,您可能希望将这些字符串放入列表中,并在最后转换为数组: import java.util.*; import java.io.*; public class readFiles2 { public static void main(String[] args) throws IOException{ // TODO Auto-generate

所以我要做的是将.txt文件中的字符串单独保存到
String[]
数组中。我现在有点不知所措,不知道还能做些什么。

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

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();
    }


}
String-readStringLine;
列表行=新的ArrayList();
而((readStringLine=reader.readLine())!=null){
行。添加(readStringLine);
}
String[]linesArray=lines.toArray(新字符串[lines.size()]);

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

使用自动关闭接口和Java 8流:

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

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

String[] linesArray = lines.toArray(new String[lines.size()]);
String[]stringsArray=null;
try(BufferedReader br=newbufferedreader(newfilereader(“someFile.txt”)){
列表字符串=新的ArrayList();
br.lines().forEach(c->strings.add(c));
stringsArray=strings.toArray(新字符串[strings.size()]);
}
您需要Java 8来运行此代码 ArrayList行=新的ArrayList(); FileReader文件=新的FileReader(file.txt); BufferedReader reader=新的BufferedReader(文件); while(reader.ready()){ add(reader.readLine()); reader.close(); file.close(); }


要访问,请使用line.get(i);其中i>=0,i使用
BufferedWriter
,调用
append
写入文本,并在完成(每行)时调用
newLine
添加新行,代码是否不起作用?我看到的一个问题是,您的数组从未给定大小,因此当您调用lines[i]时,它将崩溃
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()]);
}