Java 使用文件对象初始化FileInputStream时获取FileNotFoundException
我正在尝试使用文件对象初始化FileInputStream对象。我在线路上遇到FileNotFound错误Java 使用文件对象初始化FileInputStream时获取FileNotFoundException,java,filenotfoundexception,fileinputstream,bufferedinputstream,Java,Filenotfoundexception,Fileinputstream,Bufferedinputstream,我正在尝试使用文件对象初始化FileInputStream对象。我在线路上遇到FileNotFound错误 fis = new FileInputStream(file); 这很奇怪,因为我多次使用相同的方法打开这个文件来执行regex 我的方法如下: private BufferedInputStream fileToBIS(File file){ FileInputStream fis = null; BufferedInputStream bis =null;
fis = new FileInputStream(file);
这很奇怪,因为我多次使用相同的方法打开这个文件来执行regex
我的方法如下:
private BufferedInputStream fileToBIS(File file){
FileInputStream fis = null;
BufferedInputStream bis =null;
try {
fis = new FileInputStream(file);
bis = new BufferedInputStream(fis);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return bis;
}
java.io.FileNotFoundException:C:\dev\server\tomcat6\webapps\sample site(访问被拒绝)
在java.io.FileInputStream.open(本机方法)
位于java.io.FileInputStream。(未知源)
位于java.io.FileInputStream。(未知源)
位于controller.ScanEditRegions.fileToBIS(ScanEditRegions.java:52)
位于controller.ScanEditRegions.tidyHTML(ScanEditRegions.java:38)
位于controller.ScanEditRegions.process(ScanEditRegions.java:64)
位于controller.ScanEditRegions.visitAllDirsAndFiles(ScanEditRegions.java:148)
在controller.Manager.main(Manager.java:10)中,这与操作系统中的文件权限设置有关。您已以没有特定目录访问权限的用户身份启动java进程。您可能希望确保(按顺序):
从你贴在帖子上的stacktrace判断,我猜你没有阅读该文件的权限 File类允许您对文件执行有用的检查,其中一些检查:
boolean canExecute();
boolean canRead();
boolean canWrite();
boolean exists();
boolean isFile();
boolean isDirectory();
例如,您可以检查:exists()&&isFile()&&canRead(),并根据无法读取文件的原因打印更好的错误消息。我认为您正在执行eclipse或任何java IDE中的语句,并且IDE工作区中也存在目标文件。由于Eclipse无法读取同一工作区中的目标文件,因此出现错误。您可以在命令提示符下运行代码。它不应该通过任何异常。文件在那里吗,您有权限问题吗?问题是传入了一个目录(以及许多文件)我也发现了同样的问题,我的错误是02-10 14:18:25.367:W/System.err(365):java.io.FileNotFoundException:/storage/simulated/0/bhanuааааааааа。txt:open失败:enent(没有这样的文件或目录)02-10 14:18:25.367:W/System.err(365):在libcore.io.IoBridge.open(IoBridge.java:409)02-10 14:18:25.367:W/System.err(365):在java.io.FileInputStream。(FileInputStream.java:78)原始海报已经接受了答案并解释了问题的根本原因-他传递的是目录路径而不是文件路径。请确保在回答历史问题之前检查其他人写的内容。我也发现了相同的问题,我的错误是02-10 14:18:25.367:W/System.err(365):java.io.FileNotFoundException:/storage/emulated/0/bhanuааааааааааааааааааааааааааааааа