-1
A
回答
0
請使用下面的代碼。
List<String> previousWords = new ArrayList<String>();
List<String> nextWords = new ArrayList<String>();
boolean foundKeyWord = false;
Scanner sc2 = null;
try {
sc2 = new Scanner(new File("translate.txt"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
while (sc2.hasNextLine()) {
Scanner s2 = new Scanner(sc2.nextLine());
boolean b;
while (b = s2.hasNext()) {
String s = s2.next();
if(!foundKeyWord) {
if(s.equals(findKeyWord)) {
foundKeyWord = true;
}
}
//Keyword not found then add to the previouswords list
if(!foundKeyWord) {
previousWords.add(s);
} else {
//already key found now we need to add next 50 words
if(nextWords.size <= 50) {
nextWords.add(s);
} else {
//if 50 key words are added then break from the loop, if in case if there are less than 50 words in file after keyword then scanner will end.
break;
}
}
}
}
//Now we need to fix the previous 50 key words in case if keyword is found after 50th word.
if(previousWords.size > 50){
previousWords.subList(previousWords.size() - 50, previousWords.size());
}
1
你仍然需要逐行逐字閱讀文件以找到你正在尋找的單詞...你可以做的是讓一個緩衝區保存50個字,就像一個字符串數組,然後,加載你的文本,如果它不是你正在尋找的單詞,把它放到緩衝區中,用新單詞覆蓋最老的單詞。如果你找到你需要的,從你的緩衝區中獲得所有的單詞,並閱讀下一個50.
+0
我認爲可以。但是這個操作可能會很慢。因爲在讀取每個單詞時總是必須更新緩衝區數組。 – jacop41 2012-04-11 07:41:44
相關問題
- 1. 如何從文檔目錄中的子文件夾順序讀取文件iPhone
- 2. 反向讀取文件
- 3. 反向讀取gzip文件
- 4. 讀取並按相反順序寫入文件 - Java
- 5. 反向文件java程序
- 6. vb.net從文件夾中讀取所有文件的順序
- 7. 從文件夾中讀取文件的順序
- 8. JAVA String文件io中字符串的反向順序
- 9. Java地圖:反向時間順序
- 10. Java - 從文件夾中按特定順序讀取特定文件
- 11. Java,從文件中讀取
- 12. 從java中讀取文件
- 13. 如何在python中以相反順序讀取csv文件
- 14. 在cobol中讀取順序文件
- 15. 從文本文件中讀取向量
- 16. 如何在Java中順序讀取期間獲取當前文件位置?
- 17. 以相反的順序讀取文本文件,但從首先入口
- 18. 從文檔中讀取plist
- 19. 從文檔庫sharepoint讀取xsl文件
- 20. 從文檔目錄中讀取文件時的排序
- 21. java-lotto從文本文件中讀取
- 22. 從文本文件中讀取(Java)
- 23. Java從文本文件中讀取
- 24. Java從文本文件中讀取值
- 25. 從文本文件Java中讀取行?
- 26. Byte by Byte反向文件讀取
- 27. 反向讀取文件,C++ ifstream
- 28. 使用tac讀取反向文件
- 29. lib讀取java文檔
- 30. 如何在TCL中從頭開始讀取文件(以相反順序)?
我不知道你是否嘗試過任何東西! – vikiiii 2012-04-11 07:24:53
有很多方法,首先嚐試自己,然後發佈問題,如果出現問題。 – 2012-04-11 07:28:33