![](/img/trans.png)
[英]java - server not recieving messages from client (reader.readLine() == null ?)
[英]bufferedReader reader.readline directly goes back to null
我正在使用 bufferedReader 並且奇怪的是,在我這樣做之后
reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
EDIT3: BufferedReader 閱讀器本身知道完全加載且正確,但需要的 reader.readline 直接返回 null
誰能解釋一下我做錯了什么或為什么會發生這種情況?
編輯:我從 url 得到 json,這是這個
{"sports":[{"sport":{"id":"1","name":"yoga","rating":"1.6"}},{"sport":{"id":"2 ","name":"tennis","rating":"3.6"}},{"sport":{"id":"3","name":"zwemmen","rating":"4.7"} }],"view":{"name":"SportData","display":"page_1","path":"admin/content/data/view/SportData","root":"sports","child ":"sport","pages":null,"page":null,"count":3,"limit":null}}
所以當我調試這個時,我得到以下......
EDIT2:這是完整的代碼,
@Override
protected Void doInBackground(String... type) {
URL_STRING = "my json_url";
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
try
{
URL url;
StringBuilder stringBuilder;
url = new URL(URL_STRING);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.connect();
reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
stringBuilder = new StringBuilder();
while ((line =reader.readLine()) != null)
{
stringBuilder.append(line+"\n");
}
result = stringBuilder.toString();
}
catch (Exception e)
{
}
}
return null;
}
你的代碼沒有意義。 你永遠追加同一行。 你的循環應該是:
while ((line = reader.readLine()) != null)
{
stringBuilder.append(line+"\n");
}
我還想知道您是否在同一個套接字上創建兩個BufferedReaders
,這也沒有意義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.