package com.gear.swx.utils; import com.gear.swx.vo.SyncCurrentValueFromLdVo; import java.io.BufferedReader; import java.io.InputStreamReader; import java.math.BigDecimal; import java.net.HttpURLConnection; import java.net.URL; import java.util.ArrayList; import java.util.List; public class HttpGetCsvUtils { public static List getCurrentValueFromLdVo(String code, String ip){ try { String urlStr = "http://"+ip+"/exchange_curr.action?username=673468708&password=8a1576001bea15a3e5906ba3af004392&id="+code+"&column=mc,zf,price,zdf"; // 创建 URL 对象 URL url = new URL(urlStr); // 创建 HTTP 连接 HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); // 获取输入流 BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); String firstLine = reader.readLine(); System.out.println(firstLine); String[] clomns = firstLine.split(","); Integer codePostion = 0; Integer namePosition = 1; Integer pricePosition = 2; Integer zdfPosition = 3; for(int i = 0; i < clomns.length; i++){ if(clomns[i].equals("代码")){ codePostion = i; continue; }else if(clomns[i].equals("价格")){ pricePosition = i; continue; }else if(clomns[i].equals("名称")){ namePosition = i; continue; }else if(clomns[i].equals("涨跌幅")){ zdfPosition = i; } } List result = new ArrayList<>(); // 读取 CSV 数据 String line; while ((line = reader.readLine()) != null) { System.out.println(line); System.out.println(line); // 打印每一行数据 String[] dataArray = line.split(","); SyncCurrentValueFromLdVo vo = new SyncCurrentValueFromLdVo(); vo.setCode(dataArray[codePostion]); vo.setPrice(new BigDecimal(dataArray[pricePosition])); vo.setZdf(new BigDecimal(dataArray[zdfPosition])); vo.setName(dataArray[namePosition]); //更新对应产品的缓存100条数据 result.add(vo); } // 关闭连接 reader.close(); connection.disconnect(); return result; } catch (Exception e) { System.out.println(e.getMessage()); } return null; } }