java中怎样读取并显示大文件

问题描述

我知道用内存映射的方法可以分段读大文件,但我想打开一个编辑框,把读取的文本文件显示给用户,还能根据用户拉动滚动条动态显示需要的内容.eclipse下有openeditor(..)能做到显示,但要求读取整个文件,我文件太大,只能考虑边读一部分边显示,请问有没有办法解决?我用windows记事本打开30M的文件占内存要60M,而且刷新极慢,但我发现用UE打开该文件速度超快且只占8M内存,显然是用了分段读取显示,有谁知道它是怎样实现的?

解决方案

解决方案二:
这个问题也是我想问的,请问解决了吗?
解决方案三:
mark,不懂
解决方案四:
值得考虑啊可以用缓存(比如8M),先大文件读入一部分放入缓存,显示给用户,当用户托动滚动条时,再次读入下一部分文件放入缓存接着显示给用户,只是第一个托动滚动条时会慢一点,一旦都读完就不会卡了,内存占用也不大。

时间: 2024-10-03 07:27:10

java中怎样读取并显示大文件的相关文章

Java中使用内存映射实现大文件上传实例_java

在处理大文件时,如果利用普通的FileInputStream 或者FileOutputStream 抑或RandomAccessFile 来进行频繁的读写操作,都将导致进程因频繁读写外存而降低速度.如下为一个对比实验. 复制代码 代码如下: package test;  import java.io.BufferedInputStream;  import java.io.FileInputStream;  import java.io.FileNotFoundException;  impor

java中如何读取文件中内容,并打印日历

问题描述 java中如何读取文件中内容,并打印日历 读取文件,文件中有一个8位的日期,读出后打印此日期开始的一个月日历 解决方案 用java I/O 流 ,你查一下. 解决方案二: 先学会读取文件 http://www.cnblogs.com/lovebread/archive/2009/11/23/1609122.html 有了日期,日历自然出来了.

操作系统-java中使用jacob插件生成word文件乱码

问题描述 java中使用jacob插件生成word文件乱码 java中使用jacob插件生成word文件,使用的是先生成rtf再生成Word,当前在中文操作系统下完全正常,但是在英文和繁体操作系统下生成的Word文件内容中汉字显示乱码~ 求大神指导! 解决方案 http://bbs.csdn.net/topics/390289313

如何在java中实现读取一个txt文档中的随机一行

问题描述 如何在java中实现读取一个txt文档中的随机一行 如题,如何在java中实现读取一个txt文档中的随机一行? 主要就是怎么随机读取 解决方案 根据楼上的说法,来总结一下吧,总体来说,就是将文件全部都读取出来,每一行存储到一个数组或集合中,然后再通过产生随机数,来对这个数组或是 集合进行随机的访问.这样一来就解决了 解决方案二: 文本文件只能顺序读,不能随机读.你的需求只能是读取文本文件每一行到一个arraylist,然后得到下标范围,产生一个随机数,取那一行 解决方案三: http:

java中我知道i=i++大意思是自增1的意思,那么i+=1是什么意思

问题描述 java中我知道i=i++大意思是自增1的意思,那么i+=1是什么意思 如题, java中我知道i=i++大意思是自增1的意思,那么i+=1是什么意思 解决方案 i++ 和 i+=1 两个的意思一样的,i=i++这个是要报错的 解决方案二: $# 是启动脚本时携带的参数个数 -ne 是不等于 这个语句的意思是"如果shell的启动参数不等于1个" $# 表示提供到shell脚本或者函数的参数总数: $1 表示第一个参数. -ne 表示 不等于 另外: 整数比较 -eq 等于,

锁-JAVA中多线程读取成员变量的重复问题

问题描述 JAVA中多线程读取成员变量的重复问题 这是个模拟卖票的问题,使用一个对象实现Runnable接口建立四个线程,这个对象有100张票,四个进程同时卖,因为没使用锁,所以会出现负数票,但是为什么会出现相同的票呢?8号票卖了四次,是因为成员变量在if之后进栈保存了值?然后直接用这个num输出吗? 代码: class Ticket implements Runnable//extends Thread { private int num = 100 public void run()//这时

c-C/C++如何读取、处理大文件

问题描述 C/C++如何读取.处理大文件 RT:我知道的就虚拟内存映射,是否多线程也可以?设内存大小2G,1.情景:>64kB 2.情景:>2GB 解决方案 内存映射没有问题多线程,是必须要考虑同步的,特别是即要读.又要写. 解决方案二: 内存映射肯定要用,可以用多线程,那样不阻塞进程 解决方案三: 内存映射肯定要用,可以用多线程,那样不阻塞进程 解决方案四: 内存映射了,线程或者进程都可以 解决方案五: 首先,内存映射是必须的,要不然这么大文件会死人,然后用多线程,主要是不要阻塞了进程,造成

p#-java中集合的问题请教大神

问题描述 java中集合的问题请教大神 在Collection集合中Collection col = new ArrayList(); 和ArrayList arr = new ArrayList(); 这两个有什么区别吗! 解决方案 没有什么区别,ArrayList是Collection的实现类. 解决方案二: 举个例子吧,collection是爹,arrayList是儿子,儿子的功能肯定大于等于爹的,但是你用父类变量去引用子类对象,那么在调用方法时,如果想调用儿子的特有功能,就不行了.这是动

java中R.layout.shangpindetailview是一个文件路径吗

问题描述 java中R.layout.shangpindetailview是一个文件路径吗 java中R.layout.shangpindetailview是一个文件路径吗 还是一个路径下的一个文件 解决方案 应该是的,你从他的属性里看一下