|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
JAVA是一种可以撰写跨平台应用软件的面向对象的程序设计语言,由升阳(SunMicrosystems)公司的詹姆斯·高斯林(JamesGosling)等人于1990年代初开发。publicstaticStringloadAFileToStringDE1(Filef)throwsIOException{
longbeginTime=System.currentTimeMillis();
InputStreamis=null;
Stringret=null;
try{
is=newBufferedInputStream(newFileInputStream(f));
longcontentLength=f.length();
ByteArrayOutputStreamoutstream=newByteArrayOutputStream(contentLength>0?(int)contentLength:1024);
byte[]buffer=newbyte[4096];
intlen;
while((len=is.read(buffer))>0){
outstream.write(buffer,0,len);
}
outstream.close();
ret=outstream.toString();
//byte[]ba=outstream.toByteArray();
//ret=newString(ba);
}finally{
if(is!=null){try{is.close();}catch(Exceptione){}}
}
longendTime=System.currentTimeMillis();
System.out.println("办法1用时"+(endTime-beginTime)+"ms");
returnret;
}
publicstaticStringloadAFileToStringDE2(Filef)throwsIOException{
longbeginTime=System.currentTimeMillis();
InputStreamis=null;
Stringret=null;
try{
is=newFileInputStream(f);
longcontentLength=f.length();
byte[]ba=newbyte[(int)contentLength];
is.read(ba);
ret=newString(ba);
}finally{
if(is!=null){try{is.close();}catch(Exceptione){}}
}
longendTime=System.currentTimeMillis();
System.out.println("办法2用时"+(endTime-beginTime)+"ms");
returnret;
}
publicstaticStringloadAFileToStringDE3(Filef)throwsIOException{
longbeginTime=System.currentTimeMillis();
BufferedReaderbr=null;
Stringret=null;
try{
br=newBufferedReader(newFileReader(f));
Stringline=null;
StringBuffersb=newStringBuffer((int)f.length());
while((line=br.readLine())!=null){
sb.append(line).append(LINE_BREAK);
}
ret=sb.toString();
}finally{
if(br!=null){try{br.close();}catch(Exceptione){}}
}
longendTime=System.currentTimeMillis();
System.out.println("办法3用时"+(endTime-beginTime)+"ms");
returnret;
}
<P>3个办法往读取一个年夜于50M的文件,当不设置jvm参数时都OutofMemery,当设置-Xmx128M时。只要办法3能够经由过程,设置到-Xmx256M时也只要办法3能够经由过程,爽性设置512M,都能够了,运转工夫假如一般的话一样平常都在4~5S
还有就是总有人问我到底该学习什么语言,什么语言有前途,那么我的回答是不论是C,C++,java,.net,ruby,asp或是其他语言都可以学,编程的关键不是语言,而是思想。 |
|