社区
Java SE
帖子详情
格式化写文本的,你能高效的处理吗?
tinwoo
2006-08-14 03:25:57
每个域有固定长度,格式化写文本如下:
1xxxxxxx 2xxxxxxxxxxxxx 3xxxxxxxxxxx 4xxxxxxxxxx ...
1xxxxxxx 2xxxxxxxxxxxxx 3xxxxxxxxxxx 4xxxxxxxxxx ...
:
:
比如1xxxxxxx域长度占60个字符,2xxxxxxxxxxxx占100个字符,等等,写50万条这样的记录,你如何提高性能?
...全文
297
19
打赏
收藏
格式化写文本的,你能高效的处理吗?
每个域有固定长度,格式化写文本如下: 1xxxxxxx 2xxxxxxxxxxxxx 3xxxxxxxxxxx 4xxxxxxxxxx ... 1xxxxxxx 2xxxxxxxxxxxxx 3xxxxxxxxxxx 4xxxxxxxxxx ... : : 比如1xxxxxxx域长度占60个字符,2xxxxxxxxxxxx占100个字符,等等,写50万条这样的记录,你如何提高性能?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
缓存
Swift Markdown入门指南:如何在Swift中
高效
解析Markdown文档
本文介绍了Swift Markdown开源库的核心功能,涵盖Markdown文档解析、Markup树构建与修改、文档遍历与
处理
(通过Visitor/Walker/Rewriter)、
格式化
输出及性能优化策略。该库基于cmark-gfm,具备不可变、线程安全、
写
时复制特性,适用于
文本
编辑器、CMS等需
高效
处理
Markdown的Swift应用。
Python字符串拼接与
格式化
:
高效
、优雅地
处理
文本
数据
在Python编程里,字符串拼接和
格式化
是
处理
文本
数据的必备技能。本文深入探讨了Python中字符串拼接的三种方法,如用加号、join方法等;还介绍了字符串
格式化
的三种方法,如format方法、f-string等,并给出了选择合适方法的建议,助你
高效
处理
文本
。
开发效率工具完整指南:
高效
文本
处理
与代码
格式化
神器
DevToys是一款专为开发者设计的
高效
文本
处理
与代码
格式化
工具,支持多语言代码美化、批量
处理
、智能大小
写
转换及空白字符清理。适用于代码审查前整理、数据库字段映射等场景,兼容Windows、macOS和Linux,显著提升开发效率。
Notepad++
高效
排版:30秒搞定
文本
格式化
本文系统讲解Notepad++
高效
文本
排版技术,重点涵盖正则表达式查找替换、宏录制自动化、多文件批量
处理
、列模式编辑及XML/JSON
格式化
等关键技术。强调通过正则元字符、分组锚点实现空行清除、前后缀添加、引号转换;利用宏固化重复操作;借助XML Tools、JSON Viewer等插件增强结构化
文本
处理
能力,全面提升开发与运维中的
文本
整理效率。
Markdown:
高效
的
文本
格式化
语言
本文介绍了 Markdown 这一专为网页设计的
文本
格式化
语法。它简单直观、平台独立、可读性强,在版本控制、文档记录等方面优势明显。文中还阐述了其语法、
处理
复杂元素的方法、常用工具,对比了与 WYSIWYG 编辑器的差异,并给出克服错误的提示。
Java SE
62,622
社区成员
307,255
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章