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

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

詳解Java隨機流

更新時間:2020-12-04 17:54:54 來源:動力節點 瀏覽1229次

RandomAccessFile類創建的流稱作java隨機流,RandomAccessFile類既不是InputStream類的子類,也不是OutputStream類的子類。隨機流不屬于IO流,支持對文件的讀取和寫入隨機訪問。當準備對一個文件進行讀寫操作時,創建一個指向該文件的隨機流即可,這樣既可以從這個流中讀取文件的數據,也可以通過這個流寫入數據到文件。

 

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


RandomAccessFile類的定義:

public class RandomAccessFile extends Object

implements DataOutput, DataInput, Closeable


構造方法:

public RandomAccessFile(File file,String mode) throws FileNotFoundException

 

Random Access File 類與其他流不同,它既不是 Input Stream 類的子類,也不是 Output Stream 的子類,而是 java.lang.Object 根類的子類。RandomAccessFile最大的特點實在數據的讀取處理上,因為所有的數據時按照固定的長度進行的保存,所以讀取的時候就可以進行跳字節讀取。

主要方法:

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

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

 

隨機流的輸入和輸出實例:

/*

 * 實現文件的保存

 */

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();

    }

 

}

/*

 * 讀取數據

 */

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數據,跳過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數據,回跳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數據,回跳到頂點

            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 類的實例對象支持對文件的隨機訪問。這種隨機訪問文件的過程可以看作是訪問文件系統中的一個大型 Byte 數組,指向數組位置的隱含指針稱為文件指針。輸入操作從文件指針位置開始讀取字節,并隨著對字節的讀取移動此文件指針。輸出操作從文件指針位置開始寫入字節,并隨著對字節的寫入而移動此文件指針。因此,隨機流可以用于多線程文件下載或上傳,為快速完成訪問提供了便利。想要掌握隨機流用法的小伙伴,可以在本站的Java基礎教程中繼續深入學習。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 又黑又粗又硬欧美视频在线观看 | 日日摸夜夜爽日日放碰 | 涩涩视频免费看 | 狠狠婷| 日韩高清性爽一级毛片免费 | 综合亚洲一区二区三区 | 亚洲欧美国产精品久久久 | 国产区在线视频 | 成人国产亚洲欧美成人综合网 | 久久久久国产视频 | 久草在线视频中文 | 亚洲国产日产韩国欧美综合 | 中文字幕久热 | 91美女啪啪 | 99九九成人免费视频精品 | 日韩精品久久不卡中文字幕 | 亚洲国产精品视频在线观看 | 久久精品免费观看视频 | 九九啪| 日本在线观看一级高清片 | 一本色道久久综合亚洲精品 | 2020国产成人精品免费视频 | 狠狠色噜噜综合社区 | 热久久久久久久 | 久久久久综合网久久 | 国产精品二区页在线播放 | 国产一级淫片a免费播放口欧美 | 天天夜夜狠狠 | 欧美日韩在线成人免费视频大全 | 精品久久香蕉国产线看观看亚洲 | 婷婷亚洲综合五月天在线 | 国产成人精品在视频 | 日本久久综合视频 | 亚洲午夜久久久精品影院视色 | 性欧美极品xxxx欧美一区二区 | 黄色网欧美 | 亚洲欧美国产日产综合不卡 | 免费福利影院 | 亚洲国产欧美日韩一区二区 | 女人与女zzzoooxxxx | 奇米影视第四色7777 |