import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; @Slf4j @Service public class test{ /** * 从text下载地址读取数据流,进行操作 * @param url text下载地址 */ private void download(String url){ //从下载地址获取到流,解析流数据 RestTemplate restTemplate = new RestTemplate(); HttpHeaders headers = new HttpHeaders(); //这里请求方式为GET,如果是POST则写HttpMethod.POST ResponseEntity<byte[]> response = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<byte[]>(headers), byte[].class); byte[] result = response.getBody(); InputStream inputStream = new ByteArrayInputStream(result); BufferedReader reader = null; try { //指定下读取格式为GBK,避免出现中文乱码问题 reader = new BufferedReader(new InputStreamReader(inputStream,"GBK")); } catch (UnsupportedEncodingException e) { log.info("从下载地址获取流对象异常,原因={}",e.getMessage(),e); throw new RuntimeException("从下载地址获取流对象异常,信息:"+e); } try { String line; // 逐行读取文件内容 while ((line = reader.readLine()) != null) { //打印每行数据 System.out.println(line); //todo 数据处理... } } catch (Exception e) { log.info("解析明细数据流异常,原因={}",e.getMessage(),e); throw new RuntimeException("解析明细数据流异常,信息:"+e); } } }
从text文件下载地址,读取流,进行数据操作
于 2024-03-13 08:39:27 首次发布