位置:首頁 > Java技術 > Java.io包 > java.io.RandomAccessFile.readFully(byte[] b,int off,int len)方法實例

java.io.RandomAccessFile.readFully(byte[] b,int off,int len)方法實例

java.io.RandomAccessFile.readFully(byte[] b,int off,int len) 方法讀取這個文件正好len個字節到字節數組,並從當前文件指針。這個方法從文件中反複讀取,直到讀取請求的字節數。

聲明

以下是java.io.RandomAccessFile.readFully()方法的聲明

public final void readFully(byte[] b,int off,int len)

參數

  • b -- 數據被讀出緩衝器中。

  • off -- 該數據的起始偏移量。

  • len -- 要讀取的字節數。

返回值

此方法不返回任何值。

異常

  • IOException -- 如果發生I/ O錯誤。

  • EOFException -- 如果這個文件在讀取所有字節之前到達末尾。

例子

下麵的示例演示java.io.RandomAccessFile.readFully()方法的用法。

package com.yiibai;
import java.io.*;
public class RandomAccessFileDemo {

   public static void main(String[] args) {
      try {
         // create a string and a byte array
         String s = "Hello world";


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

         // write something in the file
         raf.writeUTF(s);

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

         // create an array equal to the length of raf
         byte[] arr = new byte[10];

         // read the file
         raf.readFully(arr, 3, 7);

         // create a new string based on arr
         String s2 = new String(arr);

         // print it
         System.out.println("" + s2);
      } catch (IOException ex) {
         ex.printStackTrace();
      }


   }
}

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

ABCDE  

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

Hello