Java 请求方法GET返回错误的内容长度
您好,我正在使用一个Java 请求方法GET返回错误的内容长度,java,android,http,connection,Java,Android,Http,Connection,您好,我正在使用一个HttpURLConnection,它获取一个txt文件的内容,我想知道该文件的大小,我使用了content-length方法,但它返回了错误的值。例如,在这个代码中,文件的大小是17509,但它返回5147? 有什么帮助吗? 提前非常感谢:) 内容长度是服务器设置的标题。我会检查以确保您的服务器返回正确的内容长度。您可以使用cUrl执行此操作: curl -v http://path/to/file.txt 这应该会向您显示发送和返回的标题。我能想到的一个快速解决方法是忽
HttpURLConnection
,它获取一个txt
文件的内容,我想知道该文件的大小,我使用了content-length方法,但它返回了错误的值。例如,在这个代码中,文件的大小是17509,但它返回5147?
有什么帮助吗?
提前非常感谢:)
内容长度是服务器设置的标题。我会检查以确保您的服务器返回正确的内容长度。您可以使用cUrl执行此操作:
curl -v http://path/to/file.txt
这应该会向您显示发送和返回的标题。我能想到的一个快速解决方法是忽略内容长度并读取输入流,直到没有任何内容可读取为止
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(8192);
int read = inputStream.read();
while (read != -1) {
byteArrayOutputStream.write((byte) read);
read = inputStream.read();
}
byteArrayOutputStream.flush();
buf = byteArrayOutputStream.toByteArray();
谢谢你的回答,http路径是
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(8192);
int read = inputStream.read();
while (read != -1) {
byteArrayOutputStream.write((byte) read);
read = inputStream.read();
}
byteArrayOutputStream.flush();
buf = byteArrayOutputStream.toByteArray();