如何在Java中将文件指针重置为文件的开头? [英] How Can I Reset The File Pointer to the Beginning of the File in Java?
本文介绍了如何在Java中将文件指针重置为文件的开头?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在用Java编写一个程序,要求我比较2个文件中的数据。我必须检查文件1中的每一行对文件2的每一行,如果找到匹配,则将它们写入第三个文件。在我读到文件2的末尾之后,如何将指针重置为文件的开头?
I am writing a program in Java that requires me to compare the data in 2 files. I have to check each line from file 1 against each line of file 2 and if I find a match write them to a third file. After I read to the end of file 2, how do I reset the pointer to the beginning of the file?
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)
这篇关于如何在Java中将文件指针重置为文件的开头?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文