2011-03-03 40 views
0

我有一個非常大的文件。我的文件中最長的線路長度爲9如何使一個非常大的文件的所有行在java中具有相同的長度?

我想讀我的RandomAccessFile的文件,並能夠尋求到具體的線路。

怎樣才能使我的文件相同的線的長度?

,如果你幫助我的示例代碼這將是巨大的。

+0

一個非常大的文件有多大?如果您正在談論幾個100MB,您可能可以將該文件加載到內存中,並且可以將內存映射到內存中的時間少於2GB。 – 2011-03-03 07:58:39

回答

2

要確保你得到你需要閱讀所有,並得到它們的長度最長的線路。 假設這是一個文本文件,你可以使用BufferedReader#readLine()方法。

當您已經閱讀線,你需要重新寫入文件。 最簡單的方法是將線存儲在一個列表中,而讀,然後寫他們根據需要後加空格的文件。要做到這一點,你可以使用PrintWriter#format()像這樣:

PrintWriter pw = .... ;//excercise for you 
String format = "%" + maxlength + "s"; 
for(String line : lines) 
{ 
    pw.format(format, line); 
} 
相關問題