當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Java.io.RandomAccessFile.read()用法及代碼示例



描述

這個java.io.RandomAccessFile.read((byte[] b,int off,int len)方法從這個文件中讀取最多 len 個字節的數據到一個字節數組中。

聲明

以下是聲明java.io.RandomAccessFile.read()方法。

public int read(byte[] b,int off,int len)

參數

  • b− 讀取數據的緩衝區。

  • off− 數組 b 中寫入數據的起始偏移量。

  • len− 讀取的最大字節數。

返回值

此方法返回讀入緩衝區的總字節數,如果由於已到達文件末尾而沒有更多數據,則返回 -1。

異常

  • IOException− 如果發生 I/O 錯誤。如果已到達文件尾,則不拋出。

  • NullPointerException− 如果 b 為空。

  • IndexOutOfBoundsException− 如果off 為負,len 為負,或者len 大於b.length - off。

示例

下麵的例子展示了使用java.io.RandomAccessFile.read()方法。

package com.tutorialspoint;

import java.io.*;

public class RandomAccessFileDemo {
   public static void main(String[] args) {

      try {
         byte[] b1 = {1, 2, 3};
         byte[] b2 = {1, 2, 3, 4, 5, 6, 7, 8};

         // create a new RandomAccessFile with filename test
         RandomAccessFile raf = new RandomAccessFile("c:/test.txt", "rw");

         // write something in the file
         raf.writeUTF("Hello World");

         // set the file pointer at 0 position
         raf.seek(0);

         // read 2 bytes, starting from 1
         System.out.println("" + raf.read(b1, 1, 2));

         // set the file pointer at 0 position
         raf.seek(0);

         // read 3 bytes, starting from 4rth
         System.out.println("" + raf.read(b2, 4, 3));         
      } catch (IOException ex) {
         ex.printStackTrace();
      }
   }
}

假設我們有一個文本文件c:/test.txt,其內容如下。該文件將用作我們示例程序的輸入 -

ABCDE  

讓我們編譯並運行上麵的程序,這將產生以下結果 -

2
3

相關用法


注:本文由純淨天空篩選整理自 Java.io.RandomAccessFile.read() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。