社区
Java SE
帖子详情
格式化写文本的,你能高效的处理吗?
tinwoo
2006-08-14 03:25:57
每个域有固定长度,格式化写文本如下:
1xxxxxxx 2xxxxxxxxxxxxx 3xxxxxxxxxxx 4xxxxxxxxxx ...
1xxxxxxx 2xxxxxxxxxxxxx 3xxxxxxxxxxx 4xxxxxxxxxx ...
:
:
比如1xxxxxxx域长度占60个字符,2xxxxxxxxxxxx占100个字符,等等,写50万条这样的记录,你如何提高性能?
...全文
248
19
打赏
收藏
格式化写文本的,你能高效的处理吗?
每个域有固定长度,格式化写文本如下: 1xxxxxxx 2xxxxxxxxxxxxx 3xxxxxxxxxxx 4xxxxxxxxxx ... 1xxxxxxx 2xxxxxxxxxxxxx 3xxxxxxxxxxx 4xxxxxxxxxx ... : : 比如1xxxxxxx域长度占60个字符,2xxxxxxxxxxxx占100个字符,等等,写50万条这样的记录,你如何提高性能?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tinwoo
2006-08-15
打赏
举报
回复
自己顶一下吧
碧海情天-赵亮
2006-08-15
打赏
举报
回复
漏了点,我上面说的"内存地址已固定"的意思,是你可以用多线程.
碧海情天-赵亮
2006-08-15
打赏
举报
回复
很多人都提过内存库了,不仅是在减少数据IO方面,同时,对于格式化数据也是有作用的(只要有起始地址,那么所有数据段因为长度固定,所以地址也是固定的).
对楼主的建议就是,程序素来就是个变的东西,需要你不断检验.
谈论中最好的方法也不一定是对你的实际情况最好的办法,只有你有条件进行比较.最终应该是你最有发言权.
tinwoo
2006-08-15
打赏
举报
回复
最后一顶
tinwoo
2006-08-15
打赏
举报
回复
上楼:
只是在和大家讨论,并非卖关子,你误会了
碧海情天-赵亮
2006-08-15
打赏
举报
回复
是的,问题不要搞得太飘渺.总得有个讨论的基点.
格式化的问题,好像楼主挺在意,多次提及.
是有独到高见,还是都不会? 回复的人都没把它当个事来提,因为最简单和直接的方法在基础知识里就有了.还用说吗.如果楼主另有高见,就不要卖关子了.
hbwhwang
2006-08-15
打赏
举报
回复
上楼:
其实没有最高效的算法,只有相对比较高效的。
在IO操作这块,我一直的经验是BufferedInputStream和BufferedOutputStream相对比较高。
昨天有人提出nio,我已经用实际代码证明了,nio的效率相比BufferedIO,并没有优势。
还有人提出 内存映射文件 ,我虽然没有实证,但是我相信效率应该跟BufferedIO没有大的差别。
TinyJimmy
2006-08-15
打赏
举报
回复
需要找到你效率需要注意的地方, 如
1. 格式化字段
2. 数据IO
针对每个问题可以有不同的解决方案
1. 格式化
a)可用java直接Format方法
b)可用存储过程数据库生成好格式数据到临时表中,直接倒出(用主机能力)
c)如果主机性能OK,资源也够,可将数据库临时表放入内存, 降低物理IO, 也能加快生成效率
...
2. 数据IO
a)直接FileOutputStream写文件
b)使用StringBuffer,到了一定量再写
c)使用BufferWriter写
d)直接在主机上写完后,再一次性取出
...
Java本身的IO主要是用JNI完成的,效率很高.以前偶写的倒出程序, 从数据库取出, java IO, 一般情况下, 普通PC上执行, 不会低于2000条/秒
tinwoo
2006-08-15
打赏
举报
回复
上楼:
我现在还没有用方法实现,意图是找一种最高效的方法,所以请教大家.
hbwhwang
2006-08-15
打赏
举报
回复
tinwoo (稻草人) :
我想问你一下,
1、你现在用什么方法实现的?
2、需要多长时间?
3、在现有基础上,你想缩短多少?
hbwhwang
2006-08-14
打赏
举报
回复
该说的俺在上个帖子都说了,现在就是帮你顶了~
tinwoo
2006-08-14
打赏
举报
回复
上楼,你好像没有明白我的问题
zhmt
2006-08-14
打赏
举报
回复
try {
BufferedWriter out = new BufferedWriter(new FileWriter("filename", true));
out.write("aString");
// 这里继续写其它的。。。。
out.close();
} catch (IOException e) {
}
别人用这个写过数百M大小的文件,很快
zhmt
2006-08-14
打赏
举报
回复
大概用bufferedOutputStream吧,尽量一次io多输出一些数据。
zhmt
2006-08-14
打赏
举报
回复
努力接分升级中...帮你up!
tinwoo
2006-08-14
打赏
举报
回复
怎么减少?!
healer_kx
2006-08-14
打赏
举报
回复
对,减少IO的次数。
treeroot
2006-08-14
打赏
举报
回复
减少io次数
treeroot
2006-08-14
打赏
举报
回复
缓存
AJViewer软件
总的来说,AJViewer软件凭借其
高效
的OCR技术、高识别率和免费特性,为用户提供了便捷的中文
文本
识别解决方案,无论是学术研究、工作报告还是日常办公,都能大大提升
文本
处理
的效率。同时,其支持PDF
处理
和输出为Word...
Java OCR 图像智能字符识别技术,可识别中文
Java OCR(Optical Character Recognition,光学字符识别)技术是一种计算机视觉领域的应用,它能将图像中的文字转换成可编辑的
文本
格式。这项技术在各种场景下都有广泛应用,比如文档扫描、车牌识别、发票
处理
等。...
Gson 2.3.1
这个版本包含了完整的源码、文档以及开发包,使得开发者可以方便地集成到他们的项目中,进行
高效
的数据序列化和反序列化操作。 首先,我们来了解Gson的核心功能。Gson库允许Java对象(如类实例)被转换为对应的JSON...
jackson-core-asl-1.9.13+jackson-mapper-asl-1.9.13札包
它提供了一整套
高效
的工具,用于序列化和反序列化Java对象到JSON格式,以及从JSON数据转换回Java对象。在这个"jackson-core-asl-1.9.13+jackson-mapper-asl-1.9.13"压缩包中,包含的是Jackson库的两个核心组件:`...
迷你PDG阅读器(mini pdg reader)
对于那些需要
处理
PDG格式文件的用户来说,特别是那些追求简单、
高效
工作流程的用户,迷你PDG阅读器无疑是一个值得尝试的选择。然而,用户在享受这款软件带来的便利的同时,也应当注意对系统盘的空间进行合理管理,...
Java SE
62,634
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章