相关文章推荐
踏实的大海  ·  JSON Error when ...·  2 年前    · 
知识渊博的打火机  ·  PowerBI DAX ...·  2 年前    · 
谦虚好学的口罩  ·  ORA-01779: ...·  2 年前    · 


我要从一个文本文件中提有用的数据

文本文件200多MB

是不是可以建一个缓存来把有用的数据一段一段的提出来,请问该怎么做?

---------------------------------------------------------------

呵呵,200MB而已...

JAVA中可以使用内存映射文件来操作大文件.

最大可达2GB.

下面是个简单的示例,更具体的自己看Java API DOCS或相关资料

代码如下:

import java.io.*;
import java.nio.*;
import java.nio.channels.*;
public class LargeMappedFiles {
static int length = 0x8FFFFFF; // 128 Mb
public static void main(String[] args) throws Exception {
MappedByteBuffer out =
new RandomAccessFile("test.dat", "rw").getChannel()
.map(FileChannel.MapMode.READ_WRITE, 0, length);
for(int i = 0; i < length; i++)
out.put((byte)'x');
System.out.println("Finished writing");
for(int i = length/2; i < length/2 + 6; i++)
System.out.print((char)out.get(i));    //read file
} ///