一.创建一个1GB的文件
使用fsutil命令来创建
1.以管理员身份运行命令提示符
2.开始创建 输入命令:fsutil file createnew e:\1GB.txt 1073741824(1GB)回车
创建成功,去相应的盘符地下找到查看属性就是1GB
二.使用java来快速读取文件
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class test1 {
public static void main(String[] args) throws IOException {
long begin = System.currentTimeMillis();
FileInputStream is = new FileInputStream("E:" + File.separator + "1GB.txt");
byte[] bytes=new byte[64*1024*1024];//64MB
int length=0;
while((length=is.read(bytes))!=-1){
System.out.println(new String(bytes,0,length));
}
is.close();
long end = System.currentTimeMillis();
System.out.println("用时"+(end-begin));
//当缓冲数组的大小是1GB时,会有如下异常
// Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
//at com.westos.test.Readerfile.main(Readerfile.java:11)
//java虚拟机默认的最大内存是64MB,所以此异常是超出异常
//若缓冲内存大小为64MB,则用时为35937
}
注:缓冲池的大小不能超过JVM的默认最大内存