我想按字节读取url内容。我必须从url的内容中读取64 kb。阅读url内容
public void readUrlBytes(String address) {
StringBuilder builder = null;
BufferedInputStream input = null;
byte[] buffer = new byte[1024];
int i = 0;
try {
URL url = new URL(address);
URLConnection urlc = url.openConnection();
input = new BufferedInputStream(urlc.getInputStream());
int bytesRead;
while ((bytesRead = input.read(buffer)) != -1) {
builder.append(bytesRead);
if (i==64) {
break;
}
i++;
}
System.out.println(builder.toString());
} catch (IOException l_exception) {
//handle or throw this
} finally {
if (input != null) {
try {
input.close();
} catch(IOException igored) {}
}
}
}
上面的代码是用于读字符明智的。
我需要读取字节。
什么是你问? java.io.InputStream.read()方法从流中读取一个“byte”。 – 2010-06-18 14:55:53
好的,在查看粘贴的新代码后,还有其他一些问题。 你永远不会实例化StrinngBuilder,当你第一次尝试使用它时,你会得到一个NullPointerException。其次,你不能调用append(byte [])并期望有用的事情发生。你说你想读取字节数,但看起来你试图在所有事情说完之后得到一个字符串。您想要读取的是二进制文件还是字符数据? – 2010-06-18 15:56:13