我真的很感激,如果有人可以幫助我這個。我試圖做外部排序,我被困在合併的一部分。我得到我應該如何合併它只是不知道使用什麼功能。用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