Java RandomAccessFile的使用
Java的RandomAccessFile提供對文件的讀寫功能,與普通的輸入輸出流不一樣的是RamdomAccessFile可以任意的訪問文件的任何地方。這就是“Random”的意義所在。
RandomAccessFile的對象包含一個記錄指針,用于標識當前流的讀寫位置,這個位置可以向前移動,也可以向后移動。RandomAccessFile包含兩個方法來操作文件記錄指針。
long getFilePoint():記錄文件指針的當前位置。
void seek(long pos):將文件記錄指針定位到pos位置。
RandomAccessFile包含InputStream的三個read方法,也包含OutputStream的三個write方法。同時RandomAccessFile還包含一系列的readXxx和writeXxx方法完成輸入輸出。
RandomAccessFile的構造方法如下
mode的值有四個
"r":以只讀文方式打開指定文件。如果你寫的話會有IOException。
"rw":以讀寫方式打開指定文件,不存在就創建新文件。
"rws":不介紹了。
"rwd":也不介紹。
下面是從中間開始讀取文件
import java.io.RandomAccessFile;public class work {public static void main(String[] args) throws Exception{RandomAccessFile raf=new RandomAccessFile("work","r");raf.seek(4);byte []buffer=new byte[100];int len=0;while((len=raf.read(buffer, 0, 100))!=-1){System.out.println(new String(buffer,0,len));}}}
下面是在文件最后加入內容
import java.io.RandomAccessFile;public class work {public static void main(String[] args) throws Exception{RandomAccessFile raf=new RandomAccessFile("work","rw");raf.seek(raf.length());raf.write("hello world!".getBytes());raf.close();}}
至于向文件中間添加內容的話,也是很好解決的。先將指針移到指定位置,把后面的保存到臨時文件,再將指針移到指定位置,添加內容,然后再將臨時文件的類容加到后面就可以了。這個我就不實現了,先看看《大秦帝國》21集,里面商鞅為大秦變法很犀利的,執法太嚴了,舍友正在看,呵呵,走了。
?
轉載于:https://www.cnblogs.com/javaspring/archive/2012/08/21/2655971.html
總結
以上是生活随笔為你收集整理的Java RandomAccessFile的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如果你喜欢一个程序员小伙
- 下一篇: UVa 10180 - Rope Cri