我正在将.txt文件读入我的程序,并将.txt的行添加到String arrayList中。如何将ENTER键(在.txt中)DELINEATED行添加到arrayList的单独元素中?现在,如果我有以下文字写的:
这是一个测试
测试
测试测试
它会输出:
这是一次测试成绩测试
我想要它做的是按行每行读取内容,并将其放入stringArrayList的不同元素中。所以我想"这是一个测试" 是一个元素,"测试" ,然后最后& #34;测试测试" 。
我的代码非常丑陋,但现在我想做的就是让它为我的目的而工作。我的第一个目的是逐行读取.txt。我的第二个目的是解析特定子字符串(URL)的元素,将该URL连接到互联网,然后将该网页的部分页面源(解析特定关键字)与ABOVE行进行比较。我渴望的子串。但那是另一个问题:^)
import java.io.*;
import java.util.*;
public class Test {
public static void main(String [] args) {
// The name of the file to open.
String fileName = "test.txt";
List<String> listA = new ArrayList<String>();
// This will reference one line at a time
String line = null;
try {
// FileReader reads text files in the default encoding.
FileReader fileReader = new FileReader(fileName);
// Always wrap FileReader in BufferedReader.
BufferedReader bufferedReader = new BufferedReader(fileReader);
while((line = bufferedReader.readLine()) != null) {
System.out.println(line);
listA.add(line);
//*** THIS IS WHERE THE MAGIC HAPPENS ***\\ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}
// Always close files.
bufferedReader.close();
}
catch(FileNotFoundException ex) {
System.out.println(
"Unable to open da file ofheee hah. '" +
fileName + "'");
}
catch(IOException ex) {
System.out.println(
"Error reading file '"
+ fileName + "'");
// Or we could just do this:
// ex.printStackTrace();
}
System.out.println();
System.out.println("array FOr loop thingy incoming:");
System.out.println();
for (int i = 0; i < listA.size(); i++) {
System.out.print((listA.get(i)).toString());
}
}
}
答案 0 :(得分:1)
您只需使用println
代替print:
System.out.println((listA.get(i)).toString());
或者,您可以添加换行符\n
答案 1 :(得分:0)
到目前为止,您的代码似乎正在运行。如果您只想查看listA
中的元素,请将其打印出来:
System.out.println(listA);
输出:
[this is a test, , test, , test test, ]
请注意,输入文件中的额外行也存储在listA
中。我不确定这是否是您想要的行为。