try
{
BufferedReader in = new BufferedReader(new FileReader("Hello.java"));
}这一句,让你的变量in成了局部变量,使用范围只能在try{}里面
你应当这样写。
BufferedReader in;
try
{
in = new BufferedReader(new FileReader("Hello.java"));
}
{
BufferedReader in = new BufferedReader(new FileReader("Hello.java"));
}这一句,让你的变量in成了局部变量,使用范围只能在try{}里面
你应当这样写。
BufferedReader in;
try
{
in = new BufferedReader(new FileReader("Hello.java"));
}
public class IOTest
{
public static void main(String args[]) // thrown FileNotFoundException
{
String myline;
try
{
BufferedReader in = new BufferedReader(new FileReader("Hello.java"));
myline = in.readLine();
while (myline != null)
{
System.out.println(myline);
myline = in.readLine();
}
}
catch(FileNotFoundException e)
{
System.out.println("Got one file exception");
e.printStackTrace();
}
catch (IOException e2)
{
System.out.println("Got one readline Exception");
e2.printStackTrace();
}
}
}
以上是改好的程序,cannot resolve symbol 的意思一般是变量没有定义,或者方法没有定义的意思,你原先的程序in在try{}中定义的,那么它的作用域就在{}中,外,假如你在try{}外定义的话,第二个myline = in.readLine();会怀疑你没有初始化in,而要求你初始化,所以最好把这些语句放在一起,当然可以分别捕获异常