首頁 >Java >java教程 >Java使用InputStream類別的available()函數取得檔案的可讀位元組數

Java使用InputStream類別的available()函數取得檔案的可讀位元組數

WBOY
WBOY原創
2023-07-26 12:37:492915瀏覽

Java使用InputStream類別的available()函數來取得檔案的可讀位元組數

在Java中,處理檔案的輸入流是非常常見的操作。一個常用的類別是InputStream,它定義了讀取位元組的方法。除了基本的讀取功能之外,InputStream還提供了一些其他的函數來方便地操作檔案流。

其中一個有用的函數是available(),它可以用來取得輸入流中可以讀取的位元組數。這對於需要知道檔案大小或處理檔案時的緩衝操作非常有用。

下面是使用available()函數來取得檔案可讀位元組數的範例程式碼:

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

public class FileReadExample {
    public static void main(String[] args) {
        try {
            // 打开文件输入流
            InputStream inputStream = new FileInputStream("example.txt");

            // 获取文件可读字节数
            int availableBytes = inputStream.available();
            System.out.println("文件可读字节数:" + availableBytes);

            // 读取文件内容
            byte[] buffer = new byte[availableBytes];
            int bytesRead = inputStream.read(buffer);
            String fileContent = new String(buffer, "UTF-8");
            System.out.println("文件内容:
" + fileContent);

            // 关闭输入流
            inputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的範例中,首先我們建立了一個FileInputStream物件來開啟一個檔案輸入流,這裡假設檔案名稱為"example.txt"。然後,使用inputStream.available()函數取得檔案的可讀位元組數,並將其儲存在變數availableBytes中。

接下來,我們建立了一個位元組數組buffer來儲存讀取的內容。我們使用inputStream.read(buffer)函數將檔案內容讀取到buffer中,並傳回實際讀取的位元組數。然後,我們將buffer轉換為字串fileContent,使用UTF-8編碼。

最後,我們列印出檔案的可讀位元組數和檔案內容,並關閉輸入流。

這個範例示範如何使用InputStream的available()函數來取得檔案的可讀位元組數,並將檔案的內容讀取到位元組數組中。這對於處理文件操作和緩衝操作非常有用。

總結來說,InputStream類別提供了一些非常有用的函數來處理檔案輸入流。其中,available()函數可以幫助我們取得檔案的可讀位元組數,方便我們進行檔案操作和緩衝操作。透過使用這個函數,我們能夠更好地處理和管理檔案輸入流,提高程式的可讀性和效率。

以上是Java使用InputStream類別的available()函數取得檔案的可讀位元組數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn