2013-03-16 35 views
0

我只是inhereted一些代碼,我不擅長的java室內用。我想知道這個人實現的當前方法是否是讀取和計算java文本文件的最快方法。我試圖把它們讀入內存,只是做一個快速的字符串計算。我在想這不可能。閱讀文本的java最快的方式文件

說我有一些文本文件:

1: AAAATTTTCTC 
2: AATTTCTCCTC 
3. .... 

現在說我有那些10,0000,但要它們存儲在內存中的一些快速哈希地圖(或類似的東西)...

在Java中......並且只有Java ......這樣做的最佳方式是什麼?

+1

*「你會的最好辦法做到這一點?」 *什麼你探查建議?不要在信號中包含無用的噪音。如果你關心你是誰,[編輯你的個人資料](http://stackoverflow.com/users/1265749/jwillis0720),(我們不在乎)。 – 2013-03-16 09:32:38

+1

這將是這種程序佔用千兆字節RAM的這些天的原因之一...... – fredrik 2013-03-16 09:34:16

+0

LOL @fredrik :) – Azad 2013-03-16 09:35:16

回答

1

用掃描儀讀取TXT文件

try{ 
    Scanner in = new Scanner(new File("file.txt")); 
    ArrayList<String> list= new ArrayList<String>(); 
    while(in.hasNext()){ 

    list.add(in.nextLine()); 

    } 
}catch(IOException ex){ 
throw new RuntimeException(ex); 
} 

,你需要java.util屁股進口

+0

@artbristol謝謝。 – Azad 2013-03-16 11:06:23

4

最快捷的方式,從編碼的角度看是這樣的:

然後可以循環在線上,做你需要的東西。

0

示例代碼讀取文本文件:

public class RegexTester { 
public static void main(String[] args) throws Exception { 
    FileReader fileReader = new FileReader("c:/file-path/file-name"); 

    BufferedReader bufferedReader = new BufferedReader(fileReader); 

    String text = null; 

    while ((text = bufferedReader.readLine()) != null) { 
     // Text from file 
     System.out.println(text); 
    } 

}