java隨機流
阿新 • • 發佈:2019-01-06
當我們需要在指定位置讀取檔案,或者寫入檔案時,使用普通的流讀寫實現是比較麻煩的,jdk為我們提供了隨機流api,可以讓我們在任意位置讀取或寫入檔案內容。
public class RandomStreamTest {
public static void main(String[] args) throws Exception {
randomWrite();
System.out.println(randomRead());
}
public static void randomWrite() throws Exception{
RandomAccessFile write = new RandomAccessFile("E:\\1.txt","rw");
write.seek(0);
write.write("hello".getBytes());
write.seek(6);
write.write("world".getBytes());
write.close();
}
public static String randomRead() throws Exception{
RandomAccessFile read = new RandomAccessFile("E:\\1.txt" ,"r");
read.seek(6);
byte[] buf = new byte[1024];
int len = read.read(buf);
String str = new String(buf,0,len);
read.close();
return str;
}
}
對於建立RandomAccessFiledui’xia物件,第二個引數共有4種:
- r:只讀
- rw:可讀可寫
- rws:在rw的基礎上,要求對檔案的內容或元資料的修改同步到底層儲存裝置上
- rwd:在rw的基礎上,要求對檔案的內容的修改同步到底層儲存裝置上
當我們對一個超大檔案進行校驗的時候,我們也可以使用隨機流對檔案進行分段讀取操作。