Java中FileInputStream的用法

今天晚上用FileInputStream練習的時候怎麼也讀取不出來文件中的內容,找了半天,終於找到問題所在(趕緊記下來,下次不能再犯)!
public static void readTest2() {
		File file = new File("f:/aaa/a.txt");
		FileInputStream fileInputStream = null;
		
		try {
			fileInputStream = new FileInputStream(file);
			
			// 4. 準備一個8KB字節緩衝數組
			byte[] buf = new byte[1024 * 8];
			int length = -1;
			
			// 5. 讀取數據
			while ((length = fileInputStream.read(buf)) != -1) {
				System.out.println(new String(buf, 0, length));
			}
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (null != fileInputStream) {
				try {
					fileInputStream.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}

上面是方法的源代碼,下面調用一下:

public class Demo {
	public static void main(String[] args){
	readTest2();
	}
}

正常情況下應該輸出f:/aaa/a.txt 這個文件中的內容,但是我運行了好幾遍沒有結果
下面是我的a.txt中的內容(內容過多,就截圖看一下):
字符
看到這裏想必知道的就能看出來哪裏出問題了,我的文件中的內容沒有任何分隔符,全程一句下來,我定義的緩衝數組根本放不下,導致結果出不來!!!

使用FileInputStream文件操作輸入字節流時,定義的緩衝數組如果容量如果小於文件中某一串內容時,就會讀取失敗

文章內容如果有什麼問題,歡迎在下面評論指出-_-

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章