最近写了个程序,两个文本文件按行的比较,文本文件只有一列。一个文件20万行,另外一个8万行。
最初我是在两个for循环嵌套中,每次读取来进行比对的,后来有人说频繁的IO操作在性能上是很大的问题,于是我将那个小的文件读取集合,大的文件还是采用io读取操作。
问题就发生在这个过程中,当我将其中的一行和IO读取进行比对时,问题出来了readLine方法一直读到文件的末尾但是没有回退,当再次循环过来时,它是接着往下读,而没有指针复位。最后处理结果如下:
。。。。。。。。
Iterator<String> it = set.iterator();
while(it.hasNext())
{
comxfile = it.next();
System.out.println(comxfile);
brx.mark((int)filex.length()+1);
while(true)
{
rotxfile = brx.readLine();
if(rotxfile==null)
break;
System.out.println("rotxfile:"+rotxfile.substring(0,11));
}
brx.reset();
}
。。。。。。。
问题解决了之后,和同学沟通交流了一下,他说可以讲所有的都放入集合,然后再比对。我之所以没有全部放入集合,是对内存吃不准,不知道放进去内存会不会崩溃。随后试了一下,没有问题。
分享到:
相关推荐
NULL 博文链接:https://lisanlai.iteye.com/blog/673253
BufferedReader与BufferedWriter分别继承于Reader和Writer类,分别为字符的读取和写入添加缓冲功能,这里我们就来看一下Java中BufferedReader与BufferedWriter类的使用示例:
文件读写 BufferedReader BufferedWriter 去除代码后面空格 简单 readLine newLine flush
import java.io.BufferedReader
BufferedReader的用法---马克-to-win java视频缓存输入流的介绍
图像格式转换 numpy.ndarray–>_io....1.首先查看opencv的imread()与Python IO中的open()函数读取图像后格式的不同: path = '...' img1=cv2.imread(path) img2 = open(path, 'rb') print(type(img1)) print(type(img
javaIO流实现永久化查询添加学生信息-java-BufferedReader
我自己写的一些关于IO中的见解,可以用来参考。 File的增、删、改、查,FileReader和FileWriter类,BufferedReader和BufferedWriter类,ObjectOutputStream和ObjectInputStream类
关于Java io的一些代码import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io...
分析Java常用IO流,包括InputStream、OutputStream、FileInputStream、FileOutputStream、BufferedInputStream、BufferedOutputStream、Reader、Writer、InputStreamReader、OutputStreamWriter、FileReader、...
BufferedReader/BufferedWriter 实现从字节流到字符流的读取。代码用来实现文本内容的复制!
1、在读写文件时必须的 2、File类 3、流 4、读写文件 运用FileInputStream和FileOutputStream类读写文本...运用BufferedReader和BufferedWriter类读写文本文件 运用DataInputStream和DataOutputStream类读写二进制 文件
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; import javax....
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; import java.text....
本文是关于Java BufferedWriter ,BufferedReader 简介、分析源码 对Java IO 流深入了解,希望看到的同学对你有所帮助
运用File类进行文件操作 理解流,标准输入/输出流的概念 运用FileInputStream和FileOutputStream类读写...运用BufferedReader和BufferedWriter类读写文本文件 运用DataInputStream和DataOutputStream类 读写二进制文件
InputStream和OutputStream 1.DataInputStream,... BufferedReader,BufferedWriter 从Reader/Writer里读取基本类型的数据 2.BufferedInputStream,BufferedOutputStream 封装了从缓冲区读写指定数量数据的方法
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; public class ATM { ...
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class Java...