1. 程式人生 > >Java中用FileInputStream讀取文字檔案

Java中用FileInputStream讀取文字檔案

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!”

執行程式碼結果: