关闭()后是否可以重新创建Java BufferedReader对象

关闭()后是否可以重新创建Java BufferedReader对象,java,Java,我创建了一个BufferedReader对象来读取文件。成功完成文件操作后,我将关闭对象,如下所示: BufferedReader buffer = new BufferedReader(new FileReader("FileName")); //Some file operation buffer.close(); 现在我需要在同一个程序中创建另一个BufferedReader对象,因此我想创建另一个同名的BufferedReader对象(我需要创建同名的对象,因为我想在某些条件

我创建了一个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();

获取错误消息,如屏幕截图所示。

看起来您可能在同一块中声明了
BufferedReader buffer=…
两次。使用新变量名
BufferedReader anotheBuffer=…
,或者在不声明
buffer=…
的情况下重用。我建议使用一个新变量。你也应该考虑使用.

< p>问题,似乎是当你想重新分配一个变量到一个新的对象时,你使用了错误的语法。 你在干什么

    BufferedReader buffer = new BufferedReader(new FileReader("FileName"));
这是定义新变量时要使用的语法,但要将新对象分配给已存在的变量,正确的语法是

    buffer = new BufferedReader(new FileReader("FileName"));

因为您不需要再次告诉编译器变量的类型。

关闭与删除不同。您可以通过将
buffer
重新指定给新的
BufferedReader
来删除对象引用。我不太理解您的问题,您能否发布完整的示例,包括创建第二个BufferedReader,以及您的错误是编译错误还是运行时错误?简单地说,我无法在同一程序中用相同的名称再次定义bufferedReader的对象@Ishnark,你的解决方案无效,我收到了相同的错误消息。你能发布源代码吗?@VinayVerma你已经有了
buffer
,所以你不应该再次声明
BufferedReader buffer=new BufferedReader(…)
。你应该简单地做
buffer=newbufferedreader(…)
Oops在发布我的答案之前没有注意到你的答案,这基本上是一样的。