日期:2014-05-20  浏览次数:20714 次

Process方法问题
代码:
import java.io.*;
class RuntimeTest003 
{
public static void main(String[] args) 
{
Runtime r = Runtime.getRuntime();
try
{
Process p = r.exec("mstsc.exe");
}
catch (IOException e)
{
e.printStackTrace();
}

try
{
Thread.sleep(5000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
p1.destroy();

}
}

编译出现问题:
D:\java_ex\runtime>javac RuntimeTest003.java
RuntimeTest003.java:24: 找不到符号
符号: 变量 p1
位置: 类 RuntimeTest003
                p1.destroy();
                ^
1 错误

麻烦帮看看,谢谢
------解决方案--------------------

Process p = null;

try
{
    p = r.exec("mstsc.exe");
}
catch (IOException e)
{
e.printStackTrace();
} finally {
     try
    {
       Thread.sleep(5000);
     }
    catch (InterruptedException e)
   {
    e.printStackTrace();
    }
    if (p != null) {
         p.destroy();
    }
}


------解决方案--------------------
Process p = r.exec("mstsc.exe"); //这里p是局部变量
}
catch (IOException e)
{
e.printStackTrace();
}

p1.destroy();//p1哪里来的?改为p,但是改为p,获取不到p,因为它是局部变量。你要声明一个全局变量。