我真的很感激,如果有人可以帮助我这个。我试图做外部排序,我被困在合并的一部分。我得到我应该如何合并它只是不知道使用什么功能。用Java读取文件的好方法
现在我正在尝试读取多个小文本文件的第一个单词,并将它们存储在文件数量大小的字符串数组中。所以基本上我会有每个文件的第一个字的字符串数组。然后我确定哪一个字母是最小的字母,然后将它写入一个新文件,之后我将读取该最小单词文件的下一个单词。这个单词将放置在字符串数组中输出的最小单词的位置,并将其与其他文件中第一个单词的其余部分进行比较。这将继续重复,直到所有单词排序。
我遇到的主要问题是,我正在使用扫描仪,并且在比较它的第一次运行后不能将最小的单词与文件中的下一个单词切换,因为扫描仪没有保留它的一个点已阅读。我知道readline做,但由于我的文件都是单词分隔只有一个空格,我不能使用readline。有人能指导我有足够的阅读功能,不能帮助我解决这个问题。
for (int i = 0; i<B;i++)
{
try
{
BufferedReader ins = new BufferedReader(new FileReader(Run-"+ i + ".txt"));
Scanner scanner2 = new Scanner(ins);
temp3[i] = scanner2.next();
System.out.println(temp3[i]);
}
catch(IOException e)
{
}
}
for(int i=0;i<N;i++)
{
String smallest = temp3[0];
int smallestfile = 0;
for(j=0;j<B;j++)
{
int comparisonResult = smallest.compareTo(temp3[j]);
if(comparisonResult>0)
{
smallest = temp3[j];
smallestfile = j;
}
}
BufferedReader ins = new BufferedReader(new FileReader("C:/Run-"+ smallestfile + ".txt"));
Scanner scanner2 = new Scanner(ins);
if(scanner2.hasNext())
{
temp3[smallestfile]=scanner2.next();
}
}
}
catch(Exception e)
{
}
哦,请格式化这一段,把它分成多段。我很难读这个,对不起。 – Mordechai 2013-03-13 03:57:08
对不起,我有点重新格式化了这个段落。这只是我真的需要这样做,我真的被困在这一部分。 – user2163684 2013-03-13 04:02:23
所有文件只是一行吗? – jabbie 2013-03-13 04:13:24