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中文網其他相關文章!