RandomAccessFile类,即可以读取文件,也可以写入文件,功能比较强大,这种读取/写入通过一个参数控制。
通过RandomAccessFile类的方法,可以设置和测定文件指针的位置,因此可以在文件的各种位置读取或写入文件。
案例如下:
读取file81.txt中的内容,并把它写入到fie82.txt中。注意,在file82.txt中只能添加新内容,不能覆盖原有的内容。
package cn.unit12.file; import java.io.RandomAccessFile; public class File8 { public static void main(String[] args) { RandomAccessFile raf1,raf2; try{ raf1 = new RandomAccessFile("D:\\Workspaces\\MyEclipse 8.5\\JiChu\\src\\cn\\unit12\\file\\file81.txt", "r"); raf2 = new RandomAccessFile("D:\\Workspaces\\MyEclipse 8.5\\JiChu\\src\\cn\\unit12\\file\\file82.txt", "rw"); long len1 = raf1.length(),len2 = raf2.length(); raf2.seek(len2); long fpt1=0; raf2.writeBytes(""+‘\n‘);//用空行隔开 while(fpt1<len1){ String str = raf1.readLine(); raf2.writeBytes(str+‘\n‘); fpt1 = raf1.getFilePointer(); } raf1.close(); raf2.close(); }catch (Exception e) { System.out.println("Exception"); } } }
效果如下:
(1)原始文件
(2)添加后的文件