中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

深入淺析Java中IO流的 RandomAccessFile類

發布時間:2020-11-19 16:09:34 來源:億速云 閱讀:177 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關深入淺析Java中IO流的 RandomAccessFile類,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

RandomAccessFile

  1. java提供的對文件內容的訪問,既可以讀文件,也可以寫文件。
  2. 支持隨機訪問文件,可以訪問文件的任意位置。
  3. java文件模型,在硬盤上的文件是byte byte byte存儲的,是數據的集合
  4. 打開文件,有兩種模式,“rw”讀寫、“r”只讀;RandomAccessFile raf = new RandomAccessFile(file, "rw");,文件指針,打開文件時指針在開頭 point = 0;
  5. 寫方法, raf.write()-->只寫一個字節(后八位),同時指針指向下一個位置,準備再次寫入
  6. 讀方法,int b = raf.read()-->讀一個字節
  7. 文件讀寫完成以后一定要關閉(Oracle官方說明)
     

 RafDemo.java

package com.test.io;

import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Arrays;

public class RafDemo {

  public static void main(String[] args) throws IOException {
    File demo = new File("demo");
    if (!demo.exists()) {
      demo.mkdir();
    }
    File file = new File(demo, "raf.dat");
    if (!file.exists()) {
      file.createNewFile();
    }
    RandomAccessFile raf = new RandomAccessFile(file, "rw");
    System.out.println(raf.getFilePointer());
    
    raf.write('A');//一個char型占兩個字節,但是write一次只寫入一個字節(A字符的后八位)
    System.out.println(raf.getFilePointer());
    raf.write('B');
    
    int i = 0x7fffffff;
    raf.write(i >>> 24);//寫入i的高八位
    raf.write(i >>> 16);
    raf.write(i >> 8);
    raf.write(i);
    System.out.println(raf.getFilePointer());
    //直接寫入一個int
    raf.writeInt(i);
    
    String s = "你";
    byte[] b = s.getBytes("utf8");
    raf.write(b);
    System.out.println(raf.length());
    
    //讀文件,必須把指針移到頭部
    raf.seek(0);
    //一次性讀取,把文件中的內容都讀到字節數組中
    byte[] buf = new byte[(int) raf.length()];
    raf.read(buf);
    System.out.println(Arrays.toString(buf));
    for (byte c : buf) {
      System.out.print(Integer.toHexString(c & 0xff) + " ");
    }
    //關閉文件
    raf.close();
  }

}

  執行結果:

0
1
6
13
[65, 66, 127, -1, -1, -1, 127, -1, -1, -1, -28, -67, -96]
41 42 7f ff ff ff 7f ff ff ff e4 bd a0 

關于深入淺析Java中IO流的 RandomAccessFile類就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

湘西| 泽库县| 囊谦县| 鲜城| 九江县| 郁南县| 涞水县| 安国市| 平南县| 丹江口市| 无棣县| 方山县| 霍城县| 鹰潭市| 龙井市| 寿光市| 扶沟县| 巢湖市| 积石山| 静海县| 盐津县| 临夏县| 塘沽区| 晋城| 唐海县| 二手房| 启东市| 阜宁县| 会宁县| 武胜县| 来凤县| 邹平县| 丽江市| 池州市| 东明县| 宜良县| 桦南县| 佛冈县| 文水县| 金溪县| 黔江区|