【发布时间】:2015-07-22 18:26:30
【问题描述】:
自从我学习 Java 以来已经有一段时间了,所以我正在看一本书。据我所见,以下代码是正确的,但是我无法编译它。我以前用Scanner,但是这本书就是采用这种方法,我更愿意按照它的说明做练习,有人能看出这里有什么问题吗?
import java.io.*;
class ReadFile
{
public static void main( String[] args )
{
try
{
FileReader file = new FileReader("Sheffield.data");
}
catch (IOException e)
{
System.out.println("A read error has ocurred" );
}
BufferedReader buffer = new BufferedReader(file);
String line = "";
while ((line = buffer.readLine()) != null)
{
System.out.println(line);
}
buffer.close();
}
}
我知道的简单错误,任何帮助将不胜感激。
已修复!!
BufferedReader buffer = new BufferedReader(file);
String line = "";
while ((line = buffer.readLine()) != null)
{
System.out.println(line);
}
buffer.close();
以上都应该放在FileReader file = new FileReader("Sheffield.data");下的try语句中
【问题讨论】:
-
可变范围。
file名称只能在try块内使用。 -
这个问题已经更新并回答了我猜这就是问题所在。这本书指出在
try之外执行BufferReader语句,但是后一个代码块需要移到里面。感谢您的帮助
标签: java io bufferedreader