public List<SystemPort> getSystem(Integer pageNo, Integer length) { try { //编译 String encode = URLDecoder.decode(String.format(systemPort,pageNo,length), "UTF-8"); //发送 URL url = new URL(encode); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); //响应结果 缓存和加强性能 转为字节流 客户端:返回值 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); StringBuffer stringBuffer = new StringBuffer(); String inputLine; while ((inputLine = bufferedReader.readLine()) !=null){ stringBuffer.append(inputLine); } bufferedReader.close(); //转为集合对象 RegionResult regionResult = JSON.parseObject(stringBuffer.toString(), RegionResult.class); List<SystemPort> content = JSONArray.parseArray(JSON.toJSONString(regionResult.getData().get("content")), SystemPort.class); String totalElements = JSON.toJSONString(regionResult.getData().get("totalElements")); if(Integer.parseInt(totalElements)>content.size()){ getSystem(pageNo,Integer.parseInt(totalElements)); } return content; } catch (IOException e) { e.printStackTrace(); } return null;}
时间: 2024-04-05 18:30:04 浏览: 86
这段代码是一个Java方法,用于获取系统端口信息。该方法接收两个整数类型的参数pageNo和length,用于指定获取数据的起始页数和每页数据的长度。该方法通过HTTP协议向指定的URL发送GET请求,并解析响应结果。最终将解析结果转换为系统端口集合对象并返回。如果总元素数大于当前页的元素数,则会递归调用该方法获取所有数据。
阅读全文