java如何高效读写10G以上大文件

有一份10G以上大文本文件,需要替换里面的一些文本信息(每一行都有),如何高效读并替换掉生成新的文件

阅读 22.3k
5 个回答
  1. 先分割成多个文件

  2. 多个线程操作多个文件,避免两个线程操作同一个文件

  3. 按行读文件并按行写入新的文件

  4. 合并所有文件

1,4用linux命令就可以了~

File file = new File(filepath);
BufferedInputStream fis = new BufferedInputStream(new FileInputStream(file));
BufferedReader reader = new BufferedReader(new InputStreamReader(fis,"utf-8"),510241024);
String line = "";
while((line = reader.readLine()) != null){

//进行替换操作和其他业务    

}

用spark分析、
lines=sc.textFile("your_file");
filterlines=lines.filter(your_filter_function)
filterlines.xxx()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏