Wuz*_*een 1 java file filenotfoundexception ioexception bufferedreader
我对使用Java进行基本文件读取非常困惑.很多混合信号.
我尝试了几种不同的方式,每次都会遇到一个未找到的异常.我已经检查了一个文件对象设置为当前路径以打印当前目录,我确实在我正在尝试打开的文件所在的目录中.权限已设置,以便每个人都可以阅读.我不确定发生了什么:
BufferedReader infixLines = new BufferedReader ( new FileReader ( "input.infix" ));
Run Code Online (Sandbox Code Playgroud)
这是抛出错误的行,因此使用infixLines的每个连续行也会抛出错误.
我也尝试使用FileInputStream并得到同样的错误.
这就是说干脆
File file = new File("input.infix");
if ( file.exists() )
System.out.println( "Exists" );
Run Code Online (Sandbox Code Playgroud)
做的工作.
非常困惑.
编辑:( Stacktrace?)
ParseInfix.java:13: unreported exception java.io.FileNotFoundException; must be
BufferedReader infixLines = new BufferedReader(new FileReader (n
^
ParseInfix.java:15: unreported exception java.io.IOException; must be caught or
while ( ( line = infixLines.readLine()) != null )
Run Code Online (Sandbox Code Playgroud)
异常跟踪说你的代码......
BufferedReader infixLines = new BufferedReader ( new FileReader ( "input.infix" ));
Run Code Online (Sandbox Code Playgroud)
能可能抛出FileNotFoundException或者IOException如果文件不存在,所以它要你做一些事来处理这种可能性.
最简单的方法是将文件读取代码包装在这样的try-catch块中......
try {
BufferedReader infixLines = new BufferedReader ( new FileReader ( "input.infix" ));
// other reading code here
}
catch (FileNotFoundException e){
System.out.println(e);
}
catch (IOException e){
System.out.println(e);
}
Run Code Online (Sandbox Code Playgroud)
例外并不是说文件找不到,只是说如果文件不存在,你的代码将采取什么措施来处理这种情况.
最终,catch你会想要做更多的事情System.out.println().例如,在GUI程序中,您可能会显示一条弹出消息,告诉用户该文件不存在.
| 归档时间: |
|
| 查看次数: |
12568 次 |
| 最近记录: |