现有一个每行固定格式的.txt文本,我需要每行进行解析、处理并导入数据库。
我采用的是readline的方式处理。
当行数不多时,还可以。
当行数多时,内存占用大,效率低。
请问如何处理更合理?
针对所有文件(文本,非文本)
你的代码只需要继续 readLine(), 就行了。
我采用的是readline的方式处理。
当行数不多时,还可以。
当行数多时,内存占用大,效率低。
请问如何处理更合理?
针对所有文件(文本,非文本)
File file = new File("filename");
BufferedInputStream fis = new BufferedInputStream(new FileInputStream(file),10*1024*1024); // 用10M的缓冲读取 专门针对文本文件,还可以使用BufferedReader指定缓冲
File file = new File("filename");
BufferedInputStream fis = new BufferedInputStream(new FileInputStream(file));
BufferedReader reader = new BufferedReader(new InputStreamReader(fis),10*1024*1024);// 用10M的缓冲读取文本文件 我给的代码是占用10M的缓冲,也就是说,无论你读取多大的文件,他只占用大约10M的内存空间进行处理。他会自动从文件里面读取剩余部分的。
你的代码只需要继续 readLine(), 就行了。
本文介绍了一种针对大量文本文件的有效处理方法,通过使用10M缓冲区的BufferedReader来逐行读取并解析.txt文件,从而实现内存占用小且处理效率高的目标。
779

被折叠的 条评论
为什么被折叠?



