我有一个String Arrays的ArrayList。数组本身应该保存传入的文本文件的每个单词。然后,数组存储在ArrayList的索引中。出于某种原因,它无法正常工作。它每个阵列只存储一个字。我想要完成的是当我调用ArrayList的索引时,它应该打印出存储在数组中的文本文件中的所有单词。有人可以看看这个并指出我正确的方向吗?我真的很感激任何反馈。提前谢谢。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException{
String [] files = {"C:\\Users\\Kelvin\\Documents\\Hello.txt", "C:\\Users\\Kelvin\\Documents\\Mountain.txt", "C:\\Users\\Kelvin\\Documents\\Thanks.txt"};
ArrayList<String[]> list = new ArrayList<String[]>();
BufferedReader reader;
for(int i = 0; i < files.length; i++){
reader = new BufferedReader(new FileReader(files[i]));
Scanner in = new Scanner(reader.readLine());
String [] words = null;
while(in.hasNext()){
String inputText = in.next();
words = inputText.split("[ \n\t\r,.;:!?*--+(){}}]");
}
in.close();
list.add(words);
}
System.out.println(Arrays.deepToString(list.toArray()));
}
}
答案 0 :(得分:1)
你在这里缺少这一部分:
while (in.hasNext()) {
String inputText = in.nextLine();//<----nextLine instead of next
words = inputText.split("[ \n\t\r,.;:!?*--+(){}}]");
list.add(words);//<----------Add your result to your List
}