Java:如何将单独的文本行从.txt文件保存到字符串数组中?
所以我要做的是将.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
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()]);
}