[英]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.