关于Java文件删除某一行(Java高手进)

[复制链接]
查看11 | 回复3 | 2011-7-12 21:56:02 | 显示全部楼层 |阅读模式
Java API中没有提供删除文件中某一行的函数。传统的实现方法是利用BufferedReader一行行读出数据然后放入List集合,最后重新写进去文本,碰到要删除的行就跳过.这种解决方案碰到数据量小的文本没有问题。但是我现在要对几百万行的文本操作。这种办法肯定行不通。这个文本里面的存放着几百万条sql语句,狂晕中。。。 我现在要实现的是,读出一条语句,执行sql,然后删除这条语句,继续执行下一条,删除,继续....不要告诉我直接把文本丢到查询分析器里面执行,我试过,执行一段时间后内存暴了,所以才寻求用编程的方式实现。 问题我已经提出来了,只要能解决问题。不管你是告诉我思路,还是其他解决方案,直要把这几百万条数据插入数据库就行了。我就加分,本人穷的直有分。呵呵。

回复

使用道具 举报

千问 | 2011-7-12 21:56:02 | 显示全部楼层
这个怕是用java实现很难的,你最好到c或者c++那边提问,记住一点,需要速率和内存兼顾的程序不是java做的。...
回复

使用道具 举报

千问 | 2011-7-12 21:56:02 | 显示全部楼层
其实最好的方法就是把文件放到数据库的查询分析器里,你现在也不能把数据写成xml文件,如果写成xml文件,那样再到程序中解析,估计效果会不错的!...
回复

使用道具 举报

千问 | 2011-7-12 21:56:02 | 显示全部楼层
使用readLine()读取文本中数据,得到一个流,将这个流存入一个数组中,再使用FOR循环输出并执行数组中的各个值,再将数据存入数据库;不过,楼主是否考虑过,几百万行SQL语句存入数据库中后得到的数据库文件大小其实并不比文本存储SQL语句的文件小多少的,而且其中像这种需要存储庞大数据量的,你必须要先定义数组的大小...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行