大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 詳解Java隨機(jī)流

詳解Java隨機(jī)流

更新時(shí)間:2020-12-04 17:54:54 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1168次

RandomAccessFile類創(chuàng)建的流稱作java隨機(jī)流,RandomAccessFile類既不是InputStream類的子類,也不是OutputStream類的子類。隨機(jī)流不屬于IO流,支持對文件的讀取和寫入隨機(jī)訪問。當(dāng)準(zhǔn)備對一個(gè)文件進(jìn)行讀寫操作時(shí),創(chuàng)建一個(gè)指向該文件的隨機(jī)流即可,這樣既可以從這個(gè)流中讀取文件的數(shù)據(jù),也可以通過這個(gè)流寫入數(shù)據(jù)到文件。

 

隨機(jī)流是一種具備雙向傳輸能力的特殊流。IO流中的各個(gè)流都只能實(shí)現(xiàn)單向的輸入或輸出操作,如果想對一個(gè)文件進(jìn)行讀寫操作就要建立兩個(gè)流。隨機(jī)流 Random Access File 類創(chuàng)建的流既可以作為輸入流,也可以作為輸出流,因此建立一個(gè)隨機(jī)流就可以完成讀寫操作。


RandomAccessFile類的定義:

public class RandomAccessFile extends Object

implements DataOutput, DataInput, Closeable


構(gòu)造方法:

public RandomAccessFile(File file,String mode) throws FileNotFoundException

 

Random Access File 類與其他流不同,它既不是 Input Stream 類的子類,也不是 Output Stream 的子類,而是 java.lang.Object 根類的子類。RandomAccessFile最大的特點(diǎn)實(shí)在數(shù)據(jù)的讀取處理上,因?yàn)樗械臄?shù)據(jù)時(shí)按照固定的長度進(jìn)行的保存,所以讀取的時(shí)候就可以進(jìn)行跳字節(jié)讀取。

主要方法:

public int skipBytes(int n) throws IOException//向下跳

public void seek(long pos) throws IOException//向回跳

 

隨機(jī)流的輸入和輸出實(shí)例:

/*

 * 實(shí)現(xiàn)文件的保存

 */

package IODemo;

 

import java.io.*;

 

public class RandomAccessFileDemo {

 

    public static void main(String[] args) throws Exception {

        // TODO Auto-generated method stub

        File file = new File("D:"+File.separator+"mldn.txt");

        RandomAccessFile raf = new RandomAccessFile(file,"rw");

        String[] names = new String[] {"zhangsan","wangwu  ","lisi    "};//名字占8位

        int age[] = new int[] {30,20,16};//年齡占4位

        for(int x = 0 ; x < names.length ; x++) {

            raf.write(names[x].getBytes());

            raf.writeInt(age[x]);

        }

        raf.close();

    }

 

}

/*

 * 讀取數(shù)據(jù)

 */

package IODemo;

 

import java.io.*;

 

public class RandomAccessFileDemo2 {

 

    public static void main(String[] args) throws Exception {

        // TODO Auto-generated method stub

        File file = new File("D:"+File.separator+"mldn.txt");

        RandomAccessFile raf = new RandomAccessFile(file,"rw");

        {//讀取lisi數(shù)據(jù),跳過24位

            raf.skipBytes(24);

            byte[] data = new byte[8];

            int len = raf.read(data);

            System.out.println("姓名:"+new String(data,0,len).trim()+"年齡:"+raf.readInt());

        }

        {//讀取wangwu數(shù)據(jù),回跳12位

            raf.seek(12);

            byte[] data = new byte[8];

            int len = raf.read(data);

            System.out.println("姓名:"+new String(data,0,len).trim()+"年齡:"+raf.readInt());

        }

        {//讀取zhangsan數(shù)據(jù),回跳到頂點(diǎn)

            raf.seek(0);

            byte[] data = new byte[8];

            int len = raf.read(data);

            System.out.println("姓名:"+new String(data,0,len).trim()+"年齡:"+raf.readInt());

        }

    }

 

}

 

 

Random Access File 類的實(shí)例對象支持對文件的隨機(jī)訪問。這種隨機(jī)訪問文件的過程可以看作是訪問文件系統(tǒng)中的一個(gè)大型 Byte 數(shù)組,指向數(shù)組位置的隱含指針稱為文件指針。輸入操作從文件指針位置開始讀取字節(jié),并隨著對字節(jié)的讀取移動(dòng)此文件指針。輸出操作從文件指針位置開始寫入字節(jié),并隨著對字節(jié)的寫入而移動(dòng)此文件指針。因此,隨機(jī)流可以用于多線程文件下載或上傳,為快速完成訪問提供了便利。想要掌握隨機(jī)流用法的小伙伴,可以在本站的Java基礎(chǔ)教程中繼續(xù)深入學(xué)習(xí)。


提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 欧美亚洲高清日韩成人 | 国产乱子伦 | 精品视频在线播放 | 国产一区二区三区日韩 | a免费国产一级特黄aa大 | 视频大全在线观看免费 | 日本精品夜色视频一区二区 | 亚洲国产精品久久婷婷 | 青青青在线视频 | 波多野结衣一区二区在线 | 99精品视频在线视频免费观看 | 91香蕉国产亚洲一区二区三区 | 日本99热| 99超级碰碰成人香蕉网 | 99在线观看视频 | 欧美日本在线一区二区三区 | 玖热在线 | 天天拍夜夜添久久精品免费 | 国内久久久久影院精品 | 亚洲一区二区三区一品精 | 色婷婷久久综合中文久久一本` | 狠狠操夜夜操 | 亚洲国产成人超福利久久精品 | 国产成人精品一区二三区2022 | 香蕉视频在线观看男女 | 国产一区二区三区免费播放 | 久久亚洲网 | 69国产成人综合久久精品91 | 俄欧美做爰xxxⅹ在线视频 | 欧美一二三区 | 国产级a爱做片免费观看 | 亚洲高清在线观看视频 | 四虎成人精品国产一区a | 免费的爱爱视频 | 国产主播第一页 | 国产精品九九久久精品女同 | 日韩欧美手机在线 | 天天综合日日噜噜噜 | 国产在线精品一区二区三区不卡 | 视频亚洲一区 | 久久久91精品国产一区二区三区 |