既出の質問かもしれませんがgoogleのキャッシュに
残っていた分を見てもなかったので質問させていただきます。
署名が公開されて何かネットにつなぐアプリでも作ろうかと思って
httpにからテキストをダウンロードするアプリを作っていたのですが、
何故か大きなデータを読み込もうとするとエラーが出ます
ちなみに1.5kほどのデータまでは大丈夫でした。
読み込む部分のソースは以下の通りです。

HttpConnection conn = null;
ByteArrayOutputStream baos = null;
InputStream is = null;
try
{
conn = (HttpConnection)Connector.open(url);
conn.setRequestMethod(HttpConnection.GET);
baos = new ByteArrayOutputStream();
is = conn.openInputStream();
byte[] buff = new byte[(int)conn.getLength()];//※
int readed = -1;
while ((readed = is.read(buff)) != -1) baos.write(buff, 0, readed);
return buff;
}
後はcatch内でclose()とfainally内でclose()のソースが続きます

1行ごとにprintlnしていった結果、
大きなファイルを読み込んだときにconn.getLength()が-1になって例外が発生するようです
buffのサイズを読み込むファイルサイズに合わせて作ってやれば、
エラーは出ませんでしたが実際にはダウンロードするファイルのサイズがわからないので
適当に大きな値で作ってprintlnで出力してみると後ろに□のようなのが大量にでました。
解決方法ありましたら教えていただきたいです。