我想要做的是将行重新排列(从CSV读取),然后将第一个随机化的10,000行打印到一个csv,将剩余的行打印到单独的csv.使用较小的文件,我可以做类似的事情
java.util.Collections.shuffle(...)
for (int i=0; i < 10000; i++) printcsv(...)
for (int i=10000; i < data.length; i++) printcsv(...)

但是对于非常大的文件,我现在得到OutOfMemoryError

解决方法

这是一种可能的算法:

>设MAX_LInes为可管理文件中的最大行数;>从输入文件中读取MAX_LInes,用原始算法随机化它们并将它们写入临时文件;>重复2.直到输入文件中没有任何行;>设N是0和你写的临时文件数之间的随机数;从第N个临时文件中读取下一行;>重复4.直到你读完所有文件中的所有行;前10000行将每一行写入第一个输出文件,将所有其他行写入另一个文件.

在Java中,有没有办法随机化一个太大的文件以适应内存?的更多相关文章

  1. 如何在PHP中操作临时文件

    关于文件相关的操作,想必大家已经非常了解了,在将来我们刷到手册中相关的文件操作函数时也会进行详细的讲解。今天,我们先来了解一下在 PHP 中关于临时文件相关的一些内容。

  2. Python利用临时文件实现数据的保存

    tempfile模块专门用于创建临时文件和临时目录,它既可以在 UNIX 平台上运行良好,也可以在 Windows 平台上运行良好。本文将利用tempfile模块创建临时文件来保存数据,感兴趣的可以了解一下

  3. PHP:如何从上传的文件中获取创建日期?

    谢谢该数据不是由浏览器发送的,因此无法访问它.与文件一起发送的数据是mime类型,文件名和文件内容.如果您想要创建日期,您需要用户提供它或通过Flash或Java创建特殊的文件上载机制.

  4. ubuntu – 为什么不“尾”工作来截断日志文件?

    我试图使用cron脚本来管理我的日志文件大小.我基本上每天晚上都要删除日志文件的最后2000行.我试图运行这个命令,但它似乎是排空整个文件,而不是做我想要的:尾-2000logfile.txt>LOGFILE.TXT有人知道为什么这不工作和/或如何完成我想要的?你正在覆盖尾部的文件,甚至开始阅读它.shell处理>重定向操作符,首先清除文件.然后它运行没有数据读取的尾巴.您可以通过使用临时文件来解决此问题:

  5. windows – 为什么我在尝试打开和保存文件时收到“其他用户正在使用的文件”和“应用程序共享冲突”错误?

    我们最近得到了很多.>Windows2008Server>Windows7&Vista客户端PC>MicrosoftOffice2007当用户尝试在我们的网络驱动器(worddoc,excel电子表格等)上打开文件时,软件会报告该文件被“其他用户”锁定,即使它不是.在尝试将文件保存到网络时,他们也会看到随机的“共享冲突”错误.当用户尝试在他们自己的驱动器上保存非网络文件并且他们得到“由于共享冲突而

  6. php – ImageMagick留下临时文件 – 这是设计还是自动删除?

    我已经使用macports在OSX上安装了ImageMagick我使用以下内容:我很好地将pdf转换为png.每次我这样做,我最终得到一个文件,如:在/private/var/tmp中.它们似乎不会自动删除.我是否需要手动删除这些内容,还是可以设置一个选项让它们自动删除?/private/var/temp的内容可以安全删除,但不包含在删除临时文件的/etc/rc.cleanup和/etc/weekly脚本中.您可以手动执行,也可以使用脚本here来执行此操作.

  7. 使Windows Installer不使用最大的驱动器来存储临时文件

    现在一切都是沉默的!在我安装东西之前,WindowsInstaller再次唤醒我的RAID只是为了放一个小的.tmp文件…我怎样才能阻止WindowsInstaller使用最大的驱动器作为临时存储?我是否可以设置一些访问权限以禁止WindowsInstaller在我的RAID驱动器上写入?还有其他想法吗?在注册表中编辑这些条目对我有用–Server2012

  8. php – 如果upload_tmp_dir没有值…我的临时文件在哪里去? – 实验

    我真的只是搞砸了一遍PHP,但是我偶然发现了一些有趣的事情.我希望我可以得到一些洞察力的难题.基本上我只是试图发现上传的图像的mimetypes,而且像主题一样问:如果upload_tmp_dir没有值,那么我的临时文件在哪里呢?这里有一些我的规范:我正在运行PHP5.3,我的upload_tmp_dir没有值–我从2008年读过另一篇文章,建议var_dump可能有帮助,但它只返回一个空数组.感谢大家!

  9. windows – 从xp中的批处理脚本中删除临时文件

    我正在寻找一个很好的批处理脚本,可以快速找到&清除Windows中所有已知的安全临时文件夹/文件计算机.我喜欢像ccleaner这样的UI工具,但是当我试图快速清理几台计算机和/或只需要很少的参与时,有一个脚本会很好.再加上脚本,我可以将几个脚本链接在一起.也许一个人会启动各种防病毒和/或恶意软件检测器.任何人都有一个好的或可以指向一个良好的资源?这是我写的一个小脚本,我保留在我的USB实用程序驱动器上……

  10. .net – 使用后删除临时文件

    使用Google向我展示了许多清理和调整工具来清理临时目录,但我不想强制用户这样做.版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部