社区
Java SE
帖子详情
多线程读同一个文件 进者有分
ansili521
2007-12-22 12:05:00
多线程读同一个文件..不知道从何下手.
希望给一demo
ansili@qq.com..
...全文
1467
53
打赏
收藏
多线程读同一个文件 进者有分
多线程读同一个文件..不知道从何下手. 希望给一demo ansili@qq.com..
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
53 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
adverse
2010-12-30
打赏
举报
回复
[Quote=引用 44 楼 ansili521 的回复:]
现在读取告一段了.
怎么.以最快的速度把这样数据插入到数据库中呢?.
我不知道怎么搞的. 数据量一多.就会出错,说二进制转换出错.
迷糊中..
[/Quote]
数据库中建立Clob类型的字段,从文件里读一部分,就写一部分到Clob里面,这样不会占太多内存。可考虑使用。
peng_weida
2010-11-14
打赏
举报
回复
占位 啊
ansili521
2008-01-06
打赏
举报
回复
. 我也想用C呀. 可关键是我C的水平太差了
还不能达到. 操作数据库的程度..
太空眼睛
2008-01-06
打赏
举报
回复
我觉得, 当一个需求非常关注效率的时候, 可以考虑用C来读取这么大的文件, 楼主试过Java也试过C#, 为什么不
试一下用C呢, 因为在java语言中, String这个类是不可改变的常量字符串, 每一次对String进行赋值的时候都会
new一块内存, new所耗费的时间代价太高了, 更何况是反复的new, 而C中的字符指针只会new一次, 只要第一次
new一个适合的空间, 然后就可以读取文件和写入数据库, 这样时间开销要比java中的String开销要小几个数量
级, C语言在底层的操作效率要比其它很多语言都要高效.
sunyujia
2008-01-06
打赏
举报
回复
io通道只有一个你多线程没什么意义,我认为
HoToo
2008-01-06
打赏
举报
回复
up.jf
DiligencyMan
2008-01-06
打赏
举报
回复
为什么要用多线程呢?如果一个文件很小的话,直接开->操作->关闭就得啦,何必来个多线程呢?
假如一个文件很大的话,你用多线程岂不是很麻烦而且费力不讨好啊!
火龙果被占用了
2008-01-03
打赏
举报
回复
往数据库里面插入的话,只能用INSERT插入了,还能有什么办法?
或者把处理好的数据写回到文件中,采用CSV格式用逗号分开,一般
数据库都有导入CSV格式数据功能的,这样速度会快一些。
asukamk2
2008-01-03
打赏
举报
回复
需求不明~友情UP
ansili521
2008-01-02
打赏
举报
回复
现在读取告一段了.
怎么.以最快的速度把这样数据插入到数据库中呢?.
我不知道怎么搞的. 数据量一多.就会出错,说二进制转换出错.
迷糊中..
sophia_tll
2007-12-30
打赏
举报
回复
RandomAccessFile 按行读取的效率并不高,我试着用它读取4.41M的文本文件,花费了5984毫秒
建议改用BufferedReader,它的效率明显较高,同样的文件,读取花费172毫秒。
可以实际测试一下,以作比较。
-------------用RandomAccessFile 读的代码------------------------
RandomAccessFile random = new RandomAccessFile( "D:\\xxx.data", "r");
String line = null;
long startTime = System.currentTimeMillis();
while ((line = random.readLine()) != null) {
//do nothing, only read
}
System.out.println("时间:" + (System.currentTimeMillis() - startTime));
--------------用BufferedReader 读的代码--------
FileInputStream fileStream = new FileInputStream("D:\\xxx.data");
BufferedReader reader = new BufferedReader(new InputStreamReader(
fileStream));
String line = null;
long startTime = System.currentTimeMillis();
while ((line = reader.readLine()) != null) {
//do nothing, only read
}
System.out.println("时间:" + (System.currentTimeMillis() - startTime));
willing008
2007-12-29
打赏
举报
回复
学习下!
ansili521
2007-12-29
打赏
举报
回复
我的主要目的是. 提速.不管用什么方法只要能在5分钟内读取出来就行了
现在一直没找到好的方法丫.
ansili521
2007-12-28
打赏
举报
回复
这几天忙了点别的.没时间看这帖子.
不好意思
只是读. 不要考虑同步吧.只要全读取出来. 没有重复的 速度也是关键
我初步看了一下RandomAccessFile不可以读取出来之后不能一行一行的取
因为我现在要把每一次又插入到数据库中.
我用C#也试着做这个.结果效率不是让人很满意
5分钟只读数据..我想一定可以读取出来的
还得接着找资料
snake09003232
2007-12-28
打赏
举报
回复
学习了.....
胡矣
2007-12-28
打赏
举报
回复
友情UP
海会圣贤
2007-12-28
打赏
举报
回复
为什么要用多线程来读一个文件啊
UP一下吧
ansili521
2007-12-28
打赏
举报
回复
//这样做一定不行. 我算了一下读1.75M的数据在20S
如果是1.2G的话大约在两百多钟吧.
不知道还耍要怎么优化一下
RandomAccessFile random = new RandomAccessFile("C:\\a.txt","r");
String line=null;
int k=0;
java.util.Date da = new Date();
while((line=random.readLine())!=null){
// if()
System.out.println(new String(line.getBytes("iso8859-1")));
}
System.out.println("时间:"+((new Date()).getTime()-da.getTime()));
ws010
2007-12-27
打赏
举报
回复
多线程
lpingxh
2007-12-27
打赏
举报
回复
要是读的话是不用考虑同步的。。。
加载更多回复(33)
Qt高级系列之8:Qt
多线程
线程池数据同步机制及
文件
下载器项目实战
1.带领您深入学习QT5/C++:Qt
多线程
线程池及数据同步机制 ,
多线程
文件
下载器项目实战,继承自QThread,继承自QObject,QRunnable和QThreadPool,QtConcurrent,Qt
多线程
技术与数据加锁保护机制:QMutex,QSemaphore...
java
多线程
文件
夹_java
多线程
读
同一个
文件
java
多线程
同时
读
取一个
文件
,这个方法可行吗?不可行。
多线程
能够提高效率是因为现在的cpu普遍是多核cpu, 多条线程可以在多个内核中同时执行来提高计算效率。但是计算机磁盘的磁头只有一个,即使多条线程去
读
也并...
python
多线程
读
取
同一个
文件
python
多线程
读
取
同一个
文件
多线程
读
取
同一个
文件
,要求不能重复,不能遗漏。 最开始尝试了一种方法(后来实践证明是无效的) 主线程分配给每个
读
线程需要
读
取
文件
中哪些行, 比如线程1
读
取1-10行,线程2...
java
多线程
读
同一个
文件
_java
多线程
有序
读
取
同一个
文件
本人刚参加工作,面试的时候遇四道笔试题,其中就有这道
多线程
有序
读
取
文件
的题目,初看时拿不准,感觉会,又感觉不会。于是放弃了这道题,今天闲下来好好做一遍。//定义一个runnable接口的实现类import java.io....
java
多线程
读
取
文件
_java
多线程
读
写
同一个
文件
本文提供java
多线程
分别定时
读
写
同一个
文件
的样例,其中两个线程,一个每分钟写入当前时间到指定
文件
,另一个线程
读
出每分钟新写的内容。使用简单的Thread.sleep技术实现定时package test.thread;import java.io....
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章