Java中用FileInputStream讀取文字檔案
阿新 • • 發佈:2019-01-29
FileInputStream類,俗稱檔案輸入流,他的作用是將文字檔案中的資料輸入到記憶體中。他是一個位元組輸入流,是InputStream抽象類的一個子類。使用FileInputStream類讀寫文字檔案分為以下幾個步驟:
1.引入相關的類
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
2.構造一個檔案輸入流物件
InputStream fis = new FileInputStream("c:/test.txt");
此檔案輸入流物件fis就和源資料來源(c:/test.txt)聯絡了起來。
3.利用檔案輸入流類的方法讀取文字檔案的資料
fis.available();//可讀取的位元組數
fis.read();//讀取檔案的資料
4.關閉檔案輸入流物件(注意:流的關閉最好在finally塊中)
fis.close();l
完整示例程式碼如下。
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; public class FileInputStreamTest { public static void main(String[] args) { int size; InputStream fis = null; try { fis = new FileInputStream("c:test.txt"); try { size = fis.available(); System.out.println("可讀取的位元組數 " + size); char [] text = new char[size]; for (int i = 0; i < text.length; i++) { text[i] = ((char)fis.read()); System.out.print(text[i]); } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { fis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
在C盤下建立test.txt檔案,寫入“Hello World!”
執行程式碼結果: