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

java.io.RandomAccessFile.read(byte[] b)方法實例

java.io.RandomAccessFile.read(byte[] b) 方法從此文件讀取多達b.length個數據字節到字節數組。

聲明

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

public int read(byte[] b)

參數

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

返回值

此方法返回讀入緩衝區的總字節數,或如果冇有更多的數據,因為該文件的末尾已到達返回-1。

異常

  • IOException -- 如果發生I/ O錯誤。如果已經達到文件結束不會拋出。

  • NullPointerException -- 如果b為null。

例子

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

package com.yiibai;

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 the first 8 bytes and print the number of bytes read
         System.out.println("" + raf.read(b1));

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

         // read the first 8 bytes and print the number of bytes read
         System.out.println("" + raf.read(b2));
      } catch (IOException ex) {
         ex.printStackTrace();
      }

   }
}

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

ABCDE  

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

3
8