要从DB中捡取数据写一个XML文件,因为数据量非常大,就是采取1条1条数据的写,但是文件的头要有1个数据总量的统计,我只有写完所有的数据才能知道有多少。可以先写中间的主体,最后再写HEADER呢?
不能采取先把所有数据写到文件最后再读下文件修改,因为文件很大,读取放在String中很容易溢出。
可不可以用只一个WRITER先写DETAILS然后在整个WRITER的前面的最后写HEADER?或者其他的解决方案,谢谢大家!!!
不能采取先把所有数据写到文件最后再读下文件修改,因为文件很大,读取放在String中很容易溢出。
可不可以用只一个WRITER先写DETAILS然后在整个WRITER的前面的最后写HEADER?或者其他的解决方案,谢谢大家!!!
2. 一般来说,都是在内存里把文件写好,一次性用 FileOutputStream 或 FileOutputWriter 写到磁盘上(XML文件就是这样处理的)
3. 所以你有什么可担心的呢?
4. 即使是写一条就存一次文件(硬盘I/O),写最后一条数据的工作量和写HEADER的基本上没区别,写倒数第二条的 工作量和写最后一条的基本上没区别... 要担心的不只是写 HEADER 吧
5. String 可以放 2G,不那么容易溢出吧
执行两次就不完了么!
要是用PO基本不用两次!一次就把对象充满了!
2.不是写最后1条数据,是把东西全写了最后写头
3.SQL中有逻辑处理,是从SQL中的结果集中 进行相关逻辑筛选,较复杂
4.1条1条的写 不是写1条就存文件 我前面讲了在1个WRITER内
5.3楼根本没看懂,是先写后面的最后写头
6.大型的政府系统,你想想数据量有多大,而且服务器不可能为了你1String 暂用那么多内存,还有1个String可以放2G,想笑,你JVN允许内存才多大,你什么事不用干了. 理论和实际差距太大