返品行にエラーが発生し、サイズのチェックが正しいかどうかもわかりません。Javaで可変サイズをチェックインするにはどうすればよいですか?
private byte[] Get(String urlIn)
{
URL url = null;
String urlStr = urlIn;
if (urlIn!=null)
urlStr=urlIn;
try
{
url = new URL(urlStr);
} catch (MalformedURLException e)
{
e.printStackTrace();
return null;
}
HttpURLConnection urlConnection = null;
try
{
urlConnection = (HttpURLConnection) url.openConnection();
InputStream in = new BufferedInputStream(urlConnection.getInputStream());
byte[] buf=new byte[10*1024];
int szRead = in.read(buf);
byte[] bufOut;
if (szRead==10*1024)
{
throw new AndroidRuntimeException("the returned data is bigger than 10*1024.. we don't handle it..");
}
else
{
if (szRead > 0) {
bufOut = Arrays.copyOf(buf, szRead);
}
}
return bufOut;
}
catch (IOException e)
{
e.printStackTrace();
return null;
}
finally
{
if (urlConnection!=null)
urlConnection.disconnect();
}
}
部分:これはJavaでも、私は、変数BUFOUT上のエラーを取得しています。この本ではinitされない可能性がありますをやったときに、それをチェックするための正しい方法がある場合
if (szRead > 0) {
bufOut = Arrays.copyOf(buf, szRead);
}
わかりませんライン:
return bufOut;
、あなたはそれらを使用する前に、ローカル変数を初期化する必要があります! – Prashant