如何使用java代码批量读取文件内容
我对java编程非常陌生。我需要以较小的块读取一个巨大的java文件。例如 如果我有以下文件
a
b
c
d
e
f
g
h
我的批量为2。根据上述文件,我需要创建4批,然后处理。我不需要在这个任务中使用多线程模式。 以下是我尝试过的。我知道这很简单,我已经更接近我想要实现的目标。 任何关于代码的建议都会很有帮助
public class testing {
public static void main(String[] args) throws IOException {
System.out.println("This is for testing");
FileReader fr = null;
try {
fr = new FileReader("C:\\Users\\me\\Desktop\\Files.txt");
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
int batchSize=2;
int batchCount=0;
int lineIncr=0;
BufferedReader bfr = new BufferedReader(fr);
String line;
int nextBatch=0;
int i=0;
while((line=bfr.readLine())!= null) {
if (lineIncr <=nextBatch ) {
System.out.println(line);
int b=0;
i=i+1;
if (i==2) {
b=b+1;
System.out.println("batchSize : "+b);
System.out.println("batchSize : "+b);
}
}
}
bfr.close();
}
}
# 1 楼答案
试试这个:
显著特点:
使用新的NIO 2
Path
API,而不是旧的File
API使用try-with-resources确保
Reader
始终正确关闭收集^{中的一批行
调用
process(List<String> batch)
方法进行处理如果最后一批不完整,则使用部分批调用
process()