lcpsky

导航

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 中的项目路径常常导致程序无法正常读写操作,在有必要时可以采用绝对路径进行读写操作。



posted on 2016-09-15 07:35  lcpsky  阅读(35)  评论(0编辑  收藏  举报