如何在J2ME中使用HTTP范围头?

  1. 是否可以在HTTP中使用带有HTTP GET请求的范围标头?
  2. 如果是的话怎么样?

我只想从服务器下载具有指定字节的字节。 即如果我想从0到255下载字节。

请参阅此示例代码,

HttpConnection connection = null; InputStream inputstream = null; try { connection = (HttpConnection) Connector.open(url); // Enter your URL here. //HTTP Request connection.setRequestMethod(HttpConnection.GET); connection.setRequestProperty("Content-Type","//text plain"); connection.setRequestProperty("Connection", "close"); // HTTP Response System.out.println("Status Line Code: " + connection.getResponseCode()); System.out.println("Status Line Message: " + connection.getResponseMessage()); if (connection.getResponseCode() == HttpConnection.HTTP_OK) { System.out.println( connection.getHeaderField(0)+ " " + connection.getHeaderFieldKey(0)); System.out.println( "Header Field Date: " + connection.getHeaderField("date")); String str; inputstream = connection.openInputStream(); int length = (int) connection.getLength(); if (length != -1) { byte incomingData[] = new byte[length]; inputstream.read(incomingData); str = new String(incomingData); } else { ByteArrayOutputStream bytestream = new ByteArrayOutputStream(); int ch; while ((ch = inputstream.read()) != -1) { bytestream.write(ch); } str = new String(bytestream.toByteArray()); bytestream.close(); } System.out.println(str); } } catch(IOException error) { System.out.println("Caught IOException: " + error.toString()); } finally { if (inputstream!= null) { try { inputstream.close(); } catch( Exception error) { /*log error*/ } } if (connection != null) { try { connection.close(); } catch( Exception error) { /*log error*/ } 

你可以试试这个:

 HttpConnection httpConnection = (HttpConnection) Connector.open("http://www.server.com/file"); httpConnection.setRequestMethod(HttpConnection.GET); httpConnection.setRequestProperty("Range","0-255"); 

检查文档: HttpConnection