分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

http文件导出写文件

发布时间:2023-09-06 01:30责任编辑:林大明关键词:http

jxl

<dependency><groupId>net.sourceforge.jexcelapi</groupId><artifactId>jxl</artifactId><version>2.6.12</version></dependency>

  ReadExcel

将xlsx 用excle打开另存为为xls

读取excle

public class ?ReadExcel{ ???private String filePath; ???private List<String[]> list = new ArrayList(); ???public ReadExcel(String filePath){ ???????this.filePath = filePath; ???} ???public List<String[]> readExcel() throws IOException, BiffException{ ???????//创建输入流 ?????????InputStream stream = new FileInputStream(filePath); ???????//获取Excel文件对象 ?????????Workbook ?rwb = Workbook.getWorkbook(stream); ???????//获取文件的指定工作表 默认的第一个 ?????????Sheet sheet = rwb.getSheet(0); ???????//行数(表头的目录不需要,从1开始) ?????????for(int i=0; i<sheet.getRows(); i++){ ???????????//创建一个数组 用来存储每一列的值 ???????????String[] str = new String[sheet.getColumns()]; ???????????Cell cell = null; ???????????//列数 ?????????????for(int j=0; j<sheet.getColumns(); j++){ ???????????????//获取第i行,第j列的值 ???????????????cell = sheet.getCell(j,i); ???????????????str[j] = cell.getContents(); ???????????} ???????????//把刚获取的列存入list ???????????list.add(str); ???????} ???????return list; ???} ???public void outData(){ ???????for(int i=0;i<list.size();i++){ ???????????String[] str = (String[])list.get(i); ???????????for(int j=0;j<str.length;j++){ ???????????????System.out.print(str[j]+‘\t‘); ???????????} ???????????System.out.println(); ???????} ???} ???public static void main(String args[]) throws BiffException, IOException{ ???????ReadExcel excel = new ReadExcel("C:\\Users\\hasee\\Documents\\263EM\\108251@ycgwl.com\\receive_file\\aa.xls"); ???????excel.readExcel(); ???????excel.outData(); ???}}
View Code

FileOperation

写文件

public class FileOperation { ???/** ????* 创建文件 ????* @param fileName ????* @return ????*/ ???public static boolean createFile(File fileName)throws Exception{ ???????boolean flag=false; ???????try{ ???????????if(!fileName.exists()){ ???????????????fileName.createNewFile(); ???????????????flag=true; ???????????} ???????}catch(Exception e){ ???????????e.printStackTrace(); ???????} ???????return true; ???} ???/** ????* 读TXT文件内容 ????* @param fileName ????* @return ????*/ ???public static String readTxtFile(File fileName)throws Exception{ ???????String result=null; ???????FileReader fileReader=null; ???????BufferedReader bufferedReader=null; ???????try{ ???????????fileReader=new FileReader(fileName); ???????????bufferedReader=new BufferedReader(fileReader); ???????????try{ ???????????????String read=null; ???????????????while((read=bufferedReader.readLine())!=null){ ???????????????????result=result+read+"\r\n"; ???????????????} ???????????}catch(Exception e){ ???????????????e.printStackTrace(); ???????????} ???????}catch(Exception e){ ???????????e.printStackTrace(); ???????}finally{ ???????????if(bufferedReader!=null){ ???????????????bufferedReader.close(); ???????????} ???????????if(fileReader!=null){ ???????????????fileReader.close(); ???????????} ???????} ???????System.out.println("读取出来的文件内容是:"+"\r\n"+result); ???????return result; ???} ???public static boolean writeTxtFile(String content,File ?fileName)throws Exception{ ???????RandomAccessFile mm=null; ???????boolean flag=false; ???????FileOutputStream o=null; ???????try { ???????????o = new FileOutputStream(fileName); ???????????o.write(content.getBytes("GBK")); ???????????o.close();// ??mm=new RandomAccessFile(fileName,"rw");// ??mm.writeBytes(content); ???????????flag=true; ???????} catch (Exception e) { ???????????// TODO: handle exception ???????????e.printStackTrace(); ???????}finally{ ???????????if(mm!=null){ ???????????????mm.close(); ???????????} ???????} ???????return flag; ???} ???public static void contentToTxt(String filePath, String content) { ???????String str = new String(); //原有txt内容 ???????String s1 = new String();//内容更新 ???????try { ???????????File f = new File(filePath); ???????????if (f.exists()) { ???????????????System.out.print("文件存在"); ???????????} else { ???????????????System.out.print("文件不存在"); ???????????????f.createNewFile();// 不存在则创建 ???????????} ???????????BufferedReader input = new BufferedReader(new FileReader(f)); ???????????while ((str = input.readLine()) != null) { ???????????????s1 += str + "\n"; ???????????} ???????????System.out.println(s1); ???????????input.close(); ???????????s1 += content; ???????????BufferedWriter output = new BufferedWriter(new FileWriter(f)); ???????????output.write(s1); ???????????output.close(); ???????} catch (Exception e) { ???????????e.printStackTrace(); ???????} ???}}
FileOperation

发请求

HttpClientUtil

@RunWith(SpringJUnit4ClassRunner.class)@ContextConfiguration(locations = {"classpath:spring/spring-context.xml"})public class HttpClientUtil { ???private String excelUrl = "C:\\Users\\hasee\\Documents\\263EM\\108251@ycgwl.com\\receive_file\\aa.xls"; ???@Autowired ???private IPpApiService ppApiService; ???@Autowired ???private IBaseRedisCacheService baseRedisCacheService; ???private static MultiThreadedHttpConnectionManager connectionManager = new MultiThreadedHttpConnectionManager(); ???private static final int TIMEOUT = 5 * 1000000;//5 * 1000 ???// ???????????StringUtils.strToInteger(propFactory.getConfig("max_http_connection"), 50);// 50 ???private static final int MAX_HTTP_CONNECTION = 50; ???private static final int MAX_CONNECTION_PER_HOST = 10;// 10 ???private static final String CHARSET_UTF8 = "UTF-8"; ???private static HttpClientUtil instance = null; ???private static final String APP_KEY = "BOS"; ???private static final String APP_SECRET = "WREW223421FDR134R"; ???// ?private static Logger logger = Logger.getLogger(HttpClientUtil.class); ???static { ???????//HttpClient 连接池属性设置,HOST并发数默认为50, 客户端总并发数为200, TimeOut时间为5s. ???????HttpConnectionManagerParams httpConnectionManagerParams = new HttpConnectionManagerParams(); ???????// 文档参数说明:Sets the maximum number of connections allowed. ???????httpConnectionManagerParams.setMaxTotalConnections(MAX_HTTP_CONNECTION); ???????// 文档参数说明: Sets the default maximum number of connections allowed for a given host config. ???????httpConnectionManagerParams.setDefaultMaxConnectionsPerHost(MAX_CONNECTION_PER_HOST); ???????// 读取数据超时时间 ???????httpConnectionManagerParams.setSoTimeout(TIMEOUT); ???????// 连接超时时间 ???????httpConnectionManagerParams.setConnectionTimeout(TIMEOUT); ???????connectionManager.setParams(httpConnectionManagerParams); ???} ???public HttpClientUtil() { ???} ???public static HttpClientUtil getInstance() { ???????if (null == instance) { ???????????synchronized (HttpClientUtil.class) { ???????????????if (instance == null) { ???????????????????instance = new HttpClientUtil(); ???????????????} ???????????} ???????} ???????return instance; ???} ???public HttpClient createHttpClient() { ???????HttpClient httpClient = new HttpClient(connectionManager); ???????return httpClient; ???} ???/** ????* 进行 http请求返回String结果 ????* ????* @param url ????* @return ????*/ ???public String getHttpClientJson(String url) { ???????HttpClient httpClient = createHttpClient(); ???????GetMethod getMethod = new GetMethod(url); ???????try { ???????????httpClient.executeMethod(getMethod); ???????????InputStreamReader in = new InputStreamReader(getMethod.getResponseBodyAsStream(), ???????????????????HttpClientUtil.CHARSET_UTF8); ???????????// ???????????String jsonString = getMethod.getResponseBodyAsString(); ???????????String jsonString = getStringByParams(in); ???????????return jsonString; ???????} catch (Exception e) { ????????????/* ??logger.error("Http Client GetMethod Execute is Exception , Message = " + e.getMessage(), e);*/ ???????????return "{\"msg\":\"获取账户余额信息失败!\",\"success\":\"false\"}"; ???????} finally { ???????????if (getMethod != null) ???????????????getMethod.releaseConnection(); ???????} ???} ???/** ????* 进行 http post请求返回String结果 ????* ????* @param url ????* @return ????*/ ???public String postHttpClientJson(String url, String params) { ???????HttpClient httpClient = createHttpClient(); ???????PostMethod postMethod = getPostMethod(url, params); ???????try { ???????????//logger.info(" Request Navigate Url is : " + url); ???????????httpClient.executeMethod(postMethod); ???????????// ???????????String jsonString = postMethod.getResponseBodyAsString(); ???????????InputStreamReader in = new InputStreamReader(postMethod.getResponseBodyAsStream(), ???????????????????HttpClientUtil.CHARSET_UTF8); ???????????String jsonString = getStringByParams(in); ???????????// 当地址端口错误时,返回为空,为防止Json解析异常 ???????????if (jsonString == null || "".equals(jsonString)) { ???????????????jsonString = "[{\"msg\":\"获取折扣信息失败!\",\"success\":\"false\"}]"; ???????????} ???????????return jsonString; ???????} catch (Exception e) { ???????????// ?logger.error("Http Client PostMethod Execute is Exception , Message = " + e.getMessage(), e); ???????????return e.getMessage(); ???????} finally { ???????????if (postMethod != null) ???????????????postMethod.releaseConnection(); ???????} ???} ???/** ????* @param params ????* @return List<NameValuePair> ???返回类型 ????* @throws ????* @Title: getCheckParam ????* @Description: (设置验证参数) ????*/ ???private List<NameValuePair> getCheckParam(String params) { ???????String digest = SecurityUtil.getDigest(params + APP_KEY + APP_SECRET); ???????String timestamp = "" + new Date().getTime(); ???????final List<NameValuePair> nameValueList = new ArrayList<NameValuePair>(); ???????// 接口调用的请求格式 ???????nameValueList.add(new NameValuePair("params", params)); ???????nameValueList.add(new NameValuePair(Constants.DEFAULT_ALP_DIGEST_NAME, digest)); ???????nameValueList.add(new NameValuePair(Constants.DEFAULT_ALP_TIMESTAMP_NAME, timestamp)); ???????nameValueList.add(new NameValuePair("appkey", APP_KEY)); ???????return nameValueList; ???} ???/** ????* @param url ????* @param params ????* @return PostMethod ???返回类型 ????* @throws ????* @Title: getPostMethod ????* @Description: (设置params参数) ????*/ ???private PostMethod getPostMethod(String url, String params) { ???????PostMethod postMethod = new PostMethod(url); ???????List<NameValuePair> nameValueList = getCheckParam(params); ???????postMethod.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); ???????postMethod.setRequestBody(nameValueList.toArray(new NameValuePair[nameValueList.size()])); ???????// ???????postMethod.addRequestHeader("Connection", "close"); ???????return postMethod; ???} ???/** ????* @param in ????* @return String ???返回类型 ????* @throws IOException ????* @throws ????* @Title: getStringByParams ????* @Description: (将流文件转换成字符) ????*/ ???private String getStringByParams(InputStreamReader in) throws IOException { ???????BufferedReader reader = new BufferedReader(in); ???????StringBuffer stringBuffer = new StringBuffer(); ???????String str = ""; ???????while ((str = reader.readLine()) != null) { ???????????stringBuffer.append(str); ???????} ???????String ts = stringBuffer.toString(); ???????return ts; ???} ???public String getParams(String siteCode) { ???????StringBuilder str = new StringBuilder(); ???????str.append("{"); ???????str.append("\"siteCode\":\"" + siteCode + "\""); ???????str.append("}"); ???????return str.toString(); ???} ???@Test ???public void test0(){ ???} ???@Test ???public void test() throws Exception { ???????HttpClientUtil hcu = HttpClientUtil.getInstance(); ???????String url2 = "http://fo.ycgwl.com/rosefinch-web/ppapi/rest/queryFreightCount.api"; ???????List<DiscountOrPriceEntity> list = getList(); ???????StringBuilder sb = new StringBuilder(); ???????for (DiscountOrPriceEntity entity : list) { ???????????if (entity.getSendSiteCode() != null) { ???????????????entity.setFromTime(new Date()); ???????????????String params = JSON.toJSONString(entity); ???????????????String result2 = hcu.postHttpClientJson(url2, params); ???????????????try { ???????????????????DiscountOrPriceReturnEntity discountOrPriceReturnEntity = JSON.parseObject(result2, DiscountOrPriceReturnEntity.class); ???????????????????sb.append(discountOrPriceReturnEntity.getPrice()+"\n"); ???????????????} catch (Exception ex) { ???????????????????sb.append(result2+"\n"); ???????????????} ???????????} else { ???????????????sb.append("发件网点或派件网点不存在"+"\n"); ???????????} ???????} ???????FileOperation.writeTxtFile(sb.toString(), new File("C:\\Users\\hasee\\Documents\\263EM\\108251@ycgwl.com\\receive_file\\aa.txt")); ???} ???@Test ???public void testOne(){ ???????HttpClientUtil hcu = HttpClientUtil.getInstance(); ???????String url2 = "http://fo.ycgwl.com/rosefinch-web/ppapi/rest/queryFreightCount.api"; ???????DiscountOrPriceEntity entity = new DiscountOrPriceEntity(); ???????entity.setSendSiteCode("TMS008"); ???????entity.setDispatchSiteCode("Z03419"); ???????entity.setCalcWeight(405.0); ???????entity.setFromTime(new Date()); ???????String params = JSON.toJSONString(entity); ???????String result2 = hcu.postHttpClientJson(url2, params); ???????System.out.println(result2); ???} ???private List<DiscountOrPriceEntity> getList() throws IOException, BiffException { ???????ReadExcel readExcel = new ReadExcel(excelUrl); ???????final List<String[]> strings = readExcel.readExcel(); ???????List<DiscountOrPriceEntity> discountOrPriceEntities = new ArrayList<>(); ???????int i = 0; ???????for (String[] ary : strings) { ???????????if (i == 0) { ???????????????i++; ???????????????continue; ???????????} ???????????i++; ??????????/* if (i ==100) { ???????????????return discountOrPriceEntities; ???????????}*/ ???????????DiscountOrPriceEntity entity = new DiscountOrPriceEntity(); ???????????String sendSite = ary[2]; ???????????String destination = ary[4]; ???????????Double weight = Double.parseDouble(ary[9]); ???????????if (StringUtils.isNotEmpty(sendSite)) { ???????????????BaseSiteEntity baseSiteEntityNameFromCache = this.baseRedisCacheService.getBaseSiteEntityNameFromCache(sendSite); ???????????????if (baseSiteEntityNameFromCache == null) { ???????????????????entity.setSendSiteCode(null); ???????????????} else { ???????????????????entity.setSendSiteCode(baseSiteEntityNameFromCache.getSiteCode()); ???????????????} ???????????} else { ???????????????entity.setSendSiteCode(null); ???????????} ???????????if (StringUtils.isNotEmpty(destination)) { ???????????????BaseSiteEntity baseSiteEntityNameFromCache1 = this.baseRedisCacheService.getBaseSiteEntityNameFromCache(destination); ???????????????if (baseSiteEntityNameFromCache1 == null) { ???????????????????entity.setSendSiteCode(null); ???????????????} else { ???????????????????entity.setDispatchSiteCode(baseSiteEntityNameFromCache1.getSiteCode()); ???????????????} ???????????} else { ???????????????entity.setSendSiteCode(null); ???????????} ???????????entity.setCalcWeight(weight); ???????????discountOrPriceEntities.add(entity); ???????????System.out.println("拼装完成"+i+"个"); ???????} ???????return discountOrPriceEntities; ???}}
HttpClientUtil

http文件导出写文件

原文地址:http://www.cnblogs.com/zfzf1/p/8027368.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved