【发布时间】:2017-05-17 13:00:46
【问题描述】:
我创建了一个 BufferedReader 对象来读取文件。成功完成文件操作后,我将关闭对象,如下所示:
BufferedReader buffer = new BufferedReader(new FileReader("FileName"));
//Some file operation
buffer.close();
现在我需要在同一个程序中创建另一个 BufferedReader 对象,所以我想创建一个具有相同名称的另一个 BufferedReader 对象(我需要创建具有相同名称的对象,因为我想要在某些条件下递归运行代码)。
当我尝试时,我收到一条消息,指出对象已经存在同名,即使我关闭()对象。
有人可以指导我如何实施吗? 有没有办法删除对象引用而不只是关闭它? 问题可能很愚蠢,但到目前为止我还没有研究过 Java 部分,我可以说我是新手。
感谢是提前!
错误截图:
我正在做的是:
BufferedReader buffer = new BufferedReader(new FileReader("$PropFilePath/WebAndService-Test.details"));
//Code to read the file and assigning values to some variables
buffer.close();
BufferedReader buffer = new BufferedReader(new FileReader("$PropFilePath/ProjectDependencies-Test.List"));
//Code to use those variables and perform operation on new read file.
buffer.close();
并收到错误消息,如屏幕截图所示。
【问题讨论】:
-
关闭不等于删除。您可以通过将
buffer重新分配给新的BufferedReader来删除对象引用。 -
我不太明白你的问题,你能把完整的例子贴出来,包括第二个BufferedReader的创建,以及你的错误是编译错误还是运行时错误?
-
简单来说,我无法在同一个程序中再次定义同名的bufferedReader对象。 @Ishnark,您的解决方案不起作用,我收到相同的错误消息。
-
能发下源代码吗?
-
@VinayVerma 你已经拥有
buffer,所以你不应该再次声明BufferedReader buffer = new BufferedReader(...)。你应该简单地做buffer = new BufferedReader(...)
标签: java