Eclipse出現FileInputStream出現例外原因分析

昨天學習java I/O 發現瘋狂java講義例題FileInputStreamTest.java

(源碼:

import java.io.*;

public class FileInputStreamTest1 {

	public static void main(String[] args) throws IOException{
				FileInputStream fis = null;
				//創建字節輸入流
				fis = new FileInputStream("FileInputStreamTest1.java");
				//創建字節數組
				byte[] b = new byte[1024];
				//保存已讀字節數
				int hasRead;
				while((hasRead=fis.read(b))>0){
					//取出已讀字節
					System.out.println(new String(b,0,hasRead));
				}		
			
				fis.close();			
	}

}
)在Myeclipse中無法運行,出現如下錯誤提示碼。

錯誤提示碼:

Exception in thread "main" java.io.FileNotFoundException: FileInputStreamTest1.java (系統找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:101)
at FileInputStreamTest1.main(FileInputStreamTest1.java:8)

       通過分析錯誤提示,自己決定首先把代碼手工編譯運行了一下,發現代碼可以正常運行,結果如下。


由此可見,問題出在MyEclipse中,感覺很可能是路徑問題。於是自己把文件名路徑改成了絕對路徑,發現確實如此。但是如果就是用輸入流打印本源代碼怎麼辦呢?

是不是可以直接在左側Package Explorer 中直接右鍵獲取源代碼的Copy Qualifide Name  的路徑,應該可以了吧,但是結果還是無法運行。

最後在此路徑前加了兩個點如下 ../coreJava/src/FileInputStreamTest1.java,發現可以正常運行。

最後,可以總結一下,在myeclipse 中的項目路徑常常導致程序無法正常讀寫操作,在有必要時可以採用絕對路徑進行讀寫操作。



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