我正在用
Java编写一个程序,需要我比较2个文件中的数据.我必须从文件1的每行检查文件2的每一行,如果我找到匹配将它们写入第三个文件.在我读到文件2的末尾后,如何将指针重置到文件的开头?
public class FiFo { public static void main(String[] args) { FileReader file1=new FileReader("d:\\testfiles\\FILE1.txt"); FileReader file2=new FileReader("d:\\testfiles\\FILE2.txt"); try{ String s1,s2; while((s1=file1.data.readLine())!=null){ System.out.println("s1: "+s1); while((s2=file2.data.readLine())!=null){ System.out.println("s2: "+s2); } } file1.closeFile(); file2.closeFile(); }catch (IOException e) { e.printStackTrace(); } } } class FileReader { BufferedReader data; DataInputStream in; public FileReader(String fileName) { try{ FileInputStream fstream = new FileInputStream(fileName); data = new BufferedReader(new InputStreamReader(fstream)); } catch (IOException e) { e.printStackTrace(); } } public void closeFile() { try{ in.close(); } catch (IOException e) { e.printStackTrace(); } } }
解决方法
我相信
RandomAccessFile
是你需要的.它包含:RandomAccessFile#seek和RandomAccessFile#getFilePointer.
rewind()是seek(0)