我在java中有一个更改用户密码的程序,如果更改,则会出现一个消息框,说明其成功,如果无法更改,则会出现一条消息框,说明不成功。
此程序在Windows 8系统上成功运行,但在Windows XP上运行时,它不会提供输出。相反,它在比较字符串时会给出空指针异常。
if (output.equals("System error 5 has occurred."))
以下是我正在使用的代码:
import java.net.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
public class SystemDemo
{
public static void infoBox(String infoMessage, String titleBar)
{
JOptionPane.showMessageDialog(null, infoMessage, "Message: " + titleBar, JOptionPane.INFORMATION_MESSAGE);
}
public static void main(String[] args)
{
try
{
Process p=Runtime.getRuntime().exec("net user ins 1234");
InputStream stderr=p.getErrorStream();
InputStreamReader isr=new InputStreamReader(stderr);
BufferedReader br=new BufferedReader(isr);
String output = br.readLine();
if (output.equals("System error 5 has occurred."))
{
SystemDemo.infoBox("run with valid admin credentials", "Wrong Input");
}
else
{
SystemDemo.infoBox("Password changed Successfully", "Success");
}
}
catch(IOException e1) {}
}
}
Java是一种平台无关语言,那为什么它不能在Windows XP上运行???