所有,
我试图确保在捕获IOException时关闭我用BufferedReader打开的文件,但它看起来好像我的BufferedReader对象超出了catch块的范围。
public static ArrayList readFiletoArrayList(String fileName, ArrayList fileArrayList)
{
fileArrayList.removeAll(fileArrayList);
try {
//open the file for reading
BufferedReader fileIn = new BufferedReader(new FileReader(fileName));
// add line by line to array list, until end of file is reached
// when buffered reader returns null (todo).
while(true){
fileArrayList.add(fileIn.readLine());
}
}catch(IOException e){
fileArrayList.removeAll(fileArrayList);
fileIn.close();
return fileArrayList; //returned empty. Dealt with in calling code.
}
}
Netbeans抱怨说它在catch块中“找不到符号fileIn”,但是我想确保在发生IOException的情况下,Reader被关闭。在没有围绕第一个try
/ catch构造的丑陋的情况下,我该怎么做呢?
在这种情况下,有关最佳做法的任何提示或建议,
BufferedReader fileIn = null;
try {
fileIn = new BufferedReader(new FileReader(filename));
//etc.
} catch(IOException e) {
fileArrayList.removeall(fileArrayList);
} finally {
try {
if (fileIn != null) fileIn.close();
} catch (IOException io) {
//log exception here
}
}
return fileArrayList;
关于上述代码的几件事:
我想寻求帮助,了解如何在JUnit测试中捕获IOException,以测试我的代码在发生错误时是否会抛出正确的异常。 以下是我的主要代码: 这是我的JUnit: 我想我必须在JUnit测试中创建一个错误的路径来抛出该异常,但我没能得到我想要的结果。我很感谢你的帮助。谢谢
问题内容: 不久前,我正在寻找Java中的可嵌入的分布式版本控制系统,我想我已经在JGit中找到了它,它是git的纯Java实现。但是,示例代码或教程的方式并不多。 如何使用JGit检索某个文件的HEAD版本(就像或应该做)? 我想这涉及一些rev-tree-walking,并且正在寻找代码示例。 问题答案: 不幸的是,Thilo的答案不适用于最新的JGit API。这是我找到的解决方案: 我希望
ASPX。NET应用程序,使用XDocument。Load()从XML文件中读取。有时它会抛出IOException static,说明文件无法打开,因为它正被另一个进程使用。我无法通过打开文件并重新加载网站来随意重新创建它。但更奇怪的是,异常发生在Try-Catch块中,我在其中显式捕获系统。IOException。 这是堆栈: 异常类型:IOException 线程信息:线程ID:18线程帐户
我在做一个项目。我用JAVA(.exec())抓取了PowerShell版本。 它显示,但我想打印唯一的版本,这是一个在底部。我怎么能那么做? 以下内容的代码块:
我试图在下面的代码中覆盖catch块,但我无法。我知道在读/写文件时需要引起IOException,但我不能这样做。而且,我不能使用PowerMockito来覆盖静态方法,因为我使用的是JUnit5。有人能帮忙吗? 这是我编写的一个测试用例,但它返回了这个错误-org.mockito.exceptions.Misusing.MissingMethodInvocationException:when
我试图得到关闭标记后的文本,但找不到任何好的解决方案我的html是这样的: 是的,记住它没有任何容器。 有什么解决办法吗?