作者sioo (Desperado)
看板java
标题Re: [问题] 读txt文字档
时间Thu May 29 09:38:12 2008
※ 引述《TonyQ (骨头)》之铭言:
: ※ 引述《sioo (Desperado)》之铭言:
: : 想请问一下,如果我要读一个内容大概有10mb的文字档,
: : 有什麽比较快的方法吗?
: : 因为我用
: : newContent=BufferedReader.readline()
: : oldContent+=newContent
: : 这种方式一行一行读,感觉非常的慢,已经等半小时了还没跑完
: : 请问有什麽比较聪明且快的方法吗?谢谢了...
: StringBuffer , StringBuffer ,and StringBuffer.
: 特别在累加的次数越大的时候,感觉会越明显。
: StringBuffer sb=new StringBuffer();
: sb.append("1");
: sb.append("2");
: sb.append("3");
: System.out.println(sb.toString());
果然使用StringBuffer以後,非常快的时间内,不到一分钟,
就把读txt、split和写入excel这三件事都作完了...
谢谢各位.....又学到一课了
有找到java中String,StringBuffer和StringBuilder的差别,分享给各位
String is immutable whereas StringBuffer and StringBuilder can change
their values.
The only difference between StringBuffer and StringBuilder is that
StringBuilder is unsynchronized whereas StringBuffer is synchronized.
So when the application needs to be run only in a single thread then
it is better to use StringBuilder.
StringBuilder is more efficient than StringBuffer.
Criteria to choose among String, StringBuffer and StringBuilder
1.If your text is not going to change use a string Class because a
String object is immutable.
2.If your text can change and will only be accessed from a single thread,
use a StringBuilder because StringBuilder is unsynchronized.
3.If your text can changes, and will be accessed from multiple threads,
use a StringBuffer because StringBuffer is synchronous.
所以看来在我这个程式中,其实用StringBuilder应该是最快的....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.87.151.2
※ 编辑: sioo 来自: 219.87.151.2 (05/29 09:50)