Java 用文本文件中的一行(字符串)填充数组的每个插槽

Java 用文本文件中的一行(字符串)填充数组的每个插槽,java,arrays,sorting,text-files,Java,Arrays,Sorting,Text Files,我有一个包含数千个字符串(3272)的文本文件列表,我想将它们分别放入数组的一个插槽中,以便使用它们进行排序。我已经完成了排序部分,我只需要帮助将每行单词放入一个数组。这是我尝试过的,但它只打印文本文件中的最后一项 public static void main(String[] args) throws IOException { FileReader fileText = new FileReader("test.txt"); BufferedReade

我有一个包含数千个字符串(3272)的文本文件列表,我想将它们分别放入数组的一个插槽中,以便使用它们进行排序。我已经完成了排序部分,我只需要帮助将每行单词放入一个数组。这是我尝试过的,但它只打印文本文件中的最后一项

public static void main(String[] args) throws IOException 
{
    FileReader fileText = new FileReader("test.txt");
    BufferedReader scan = new BufferedReader (fileText);
    String line;
    String[] word = new String[3272];
    
    Comparator<String> com = new ComImpl();
    
    while((line = scan.readLine()) != null)
    {
        for(int i = 0; i < word.length; i++)
        {
            word[i] = line;
        }
    }
    
    
    Arrays.parallelSort(word, com);

    
    for(String i: word)
    {
        System.out.println(i);
    }
}
publicstaticvoidmain(字符串[]args)引发IOException
{
FileReader fileText=新的FileReader(“test.txt”);
BufferedReader扫描=新的BufferedReader(fileText);
弦线;
字符串[]字=新字符串[3272];
比较器com=新ComImpl();
而((line=scan.readLine())!=null)
{
for(int i=0;i
每次阅读
行时,您都会将其分配给
word
的所有元素。这就是为什么
word
只以文件的最后一行结束。

用以下代码替换
循环

    int next = 0;
    while ((line = scan.readLine()) != null) word[next++] = line;
试试这个

Files.readAllLines(Paths.get("test.txt"))
    .parallelStream()
    .sorted(new ComImpl())
    .forEach(System.out::println);

这是有道理的。你知道如何不让最后一个重复,让每个字符串都在自己的数组槽中吗?