就是JAVA随机读,不是按byte定位,按行数定位,最好还能获取该文件所有的行数,然后多线程split读取
java IO
java.io.BufferedReader
我赞同1L的回答。但是在此基础上,可以对文本预处理,标记好行号,最后读取文件的时候按key(行号)=>value(内容)的方式去获取。
“行”仅仅是一个“视觉”概念,并非技术概念;在byte级别,一个换行符和一个普通字符,比如'a'没有任何区别; 所以我觉得这件事情按“行”来做某种技术实现的标记是不理性的;我希望题主能聊聊你的原始需求是什么? 从你最后说“多线程split读取”来看,似乎更适合以固定byte数来划分读取位置,而不是出现概率很随意的换行符; 如果按固定byte数来分割读取范围,可使用RandomAccessFile类
Java中IOUtils.copy(in,out)方法,关于缓冲byte[]buffer的问题
java io流先关闭输入流还是先关闭流出流?
想通过ZipInStream类将压缩文件解压到指定的文件夹中
在目录中查找指定的文件
java io stream 自动行刷新的含义
你是选择socket,自己写nio还是netty等nio框架