Java 用文本文件中的一行(字符串)填充数组的每个插槽
我有一个包含数千个字符串(3272)的文本文件列表,我想将它们分别放入数组的一个插槽中,以便使用它们进行排序。我已经完成了排序部分,我只需要帮助将每行单词放入一个数组。这是我尝试过的,但它只打印文本文件中的最后一项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
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);
这是有道理的。你知道如何不让最后一个重复,让每个字符串都在自己的数组槽中吗?