我在博客上看到java.lang.NegativeArraySizeException:-1
我试图创建一个应用程序,从我的网站解析代码并将其显示在listActivity上。我试过使用几个网站。。它们都很好用。但是我的网站显示了这个java.lang.NegativeArraySizeException:-1异常我在博客上看到java.lang.NegativeArraySizeException:-1,java,android,json,parsing,connection,Java,Android,Json,Parsing,Connection,我试图创建一个应用程序,从我的网站解析代码并将其显示在listActivity上。我试过使用几个网站。。它们都很好用。但是我的网站显示了这个java.lang.NegativeArraySizeException:-1异常 package com.example.hamad.jsonparsingverybasic; import android.content.Context; import android.net.ConnectivityManager; import android.ne
package com.example.hamad.jsonparsingverybasic;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.TextView;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.HttpURLConnection;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
public static final String TAG = "log";
TextView network;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
network = (TextView) findViewById(R.id.networkStatus);
if (isNetworkAvailable()) {
GetBlogPosts getBlogPosts = new GetBlogPosts();
getBlogPosts.execute();
network.setText("Network: Available!");
} else {
network.setText("Network: Not available!");
}
}
private boolean isNetworkAvailable() {
ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = manager.getActiveNetworkInfo();
boolean netWorkAvailable = false;
if (networkInfo != null && networkInfo.isConnected()) {
netWorkAvailable = true;
}
return netWorkAvailable;
}
private class GetBlogPosts extends AsyncTask<Object, Void, String> {
int responseCode = 0;
@Override
protected String doInBackground(Object[] params) {
try {
URL blogURL = new URL("http://trapedzone.com/api/info/");
HttpURLConnection connection = (HttpURLConnection) blogURL.openConnection();
connection.connect();
responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
try {
InputStream inputStream = connection.getInputStream();
Reader reader = new InputStreamReader(inputStream);
int contentLength = connection.getContentLength();
char[] charArray = new char[contentLength];
reader.read(charArray);
String responseData = new String(charArray);
Log.v(TAG, responseData);
} catch (Exception e) {
}
} else {
Log.e(TAG, "Bad response code: " + responseCode);
}
} catch (Exception e) {
Log.e(TAG, "Error: " + e);
}
return "Code: " + responseCode;
}
}
}
在执行时,它会在我的网站上抛出java.lang.NegativeArraySizeException:-1异常,但当我在其他网站上使用它时,它可以完美地工作
请帮忙。我的网站有问题吗?或者这是我可以在java代码中解决的问题 如果您发布堆栈跟踪,将会有所帮助 但是,您发布的代码中只有一行可能会生成该错误: char[]charArray=新字符[contentLength] 因此,我冒昧猜测connection.getCOntentLength返回的是-1。的可能重复项