android程序。
两个几乎相同的函数,一个出错,一个正常。下面是源码:出错的函数:public static User searchUserInfo(String UriPath,String id) throws StreamCorruptedException, IOException, ClassNotFoundException
{

StringBuilder sb=new StringBuilder(UriPath);
sb.append('?').append("id=").append(id);
String realUriPath=sb.toString();
Log.i("realUriPath", realUriPath);
URL url=new URL(realUriPath);
HttpURLConnection conn=(HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.connect();//报错指向这条语句
ObjectInputStream in=new ObjectInputStream(conn.getInputStream());
User user=(User)in.readObject();
in.close();
conn.disconnect();
Global.flagSearchUserInfo=1;
return user;
}
报错信息:
10-29 13:13:38.035: E/AndroidRuntime(8356): FATAL EXCEPTION: Thread-3433
10-29 13:13:38.035: E/AndroidRuntime(8356): java.lang.NullPointerException
10-29 13:13:38.035: E/AndroidRuntime(8356):  at libcore.net.http.HttpConnection$Address.hashCode(HttpConnection.java:343)
10-29 13:13:38.035: E/AndroidRuntime(8356):  at java.util.HashMap.get(HashMap.java:298)
10-29 13:13:38.035: E/AndroidRuntime(8356):  at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:67)
10-29 13:13:38.035: E/AndroidRuntime(8356):  at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
10-29 13:13:38.035: E/AndroidRuntime(8356):  at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308)
10-29 13:13:38.035: E/AndroidRuntime(8356):  at libcore.net.http.HttpEngine.connect(HttpEngine.java:303)
10-29 13:13:38.035: E/AndroidRuntime(8356):  at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282)
10-29 13:13:38.035: E/AndroidRuntime(8356):  at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232)
10-29 13:13:38.035: E/AndroidRuntime(8356):  at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80)
10-29 13:13:38.035: E/AndroidRuntime(8356):  at libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:188)
10-29 13:13:38.035: E/AndroidRuntime(8356):  at com.quanquan.transmit.TransmitTool.searchUserInfo2(TransmitTool.java:361)
10-29 13:13:38.035: E/AndroidRuntime(8356):  at com.example.quanquan.UserInfoActivity$2.run(UserInfoActivity.java:134)
10-29 13:13:38.035: E/AndroidRuntime(8356):  at java.lang.Thread.run(Thread.java:856)
10-29 13:13:38.040: E/android.os.Debug(2098): !@Dumpstate > dumpstate -k -t -n -z -d -o /data/log/dumpstate_app_error
10-29 13:13:38.040: W/ActivityManager(2098):   Force finishing activity com.example.quanquan/.UserInfoActivity
另一个相似的函数,调用正常:/*
 * 注册时,检测id是否已被注册,未注册则进行注册操作
 * 输入:请求路径,账号,密码发送至服务器
 * 输出:是否1/0注册成功
 * */
public static int regIdCheck(String UriPath,String id,String pwd) throws IOException, ClassNotFoundException
{
int flag;//id是否被注册的标志,0表示未被注册,1表示已注册
StringBuilder sb=new StringBuilder(UriPath);
sb.append('?').append("id=").append(id).append('&').append("pwd=").append(pwd);
String realUriPath=sb.toString();
Log.i("realUriPath", realUriPath);
URL url=new URL(realUriPath);
HttpURLConnection conn=(HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.connect();

BufferedReader in=new BufferedReader(new InputStreamReader(conn.getInputStream()));
flag=in.read();
Log.i("quanquan",String.valueOf(flag));
Global.flagReg=1;
in.close();
conn.disconnect();
return flag;
}
求解呀大大们