色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

java處理csv文件上傳示例詳解

瀏覽:33日期:2022-08-18 18:12:10

前言:示例只是做了一個最最基礎的上傳csv的示例,如果要引用到代碼中去,還需要根據自己的業務自行添加一些邏輯處理。

ReadCsvUtil工具類

package com.hanfengyeqiao.gjb.utils;import java.io.*;import java.util.*; /** * csv工具類 */public class ReadCsvUtil { private static final String FIX='uFEFF'; /** * 獲取csv文件內容 * @return 對象list */ public static List<Map<String,Object>> getResource(byte[] bate) throws IOException { List<Map<String,Object>> allString = new ArrayList(); Map<String,Object> callLogInfo ; List<String> list = new ArrayList(); // 獲取文件內容 list = getSource(bate); // 獲取文件表頭 List<String> title = Arrays.asList(list.get(0).split(',')); String customerName = title.get(0).trim(); String customerNo = title.get(1).trim(); // 頭部會帶有'uFEFF'值 if(customerName.startsWith(FIX)){ customerName = customerName.replace(FIX, ''); } callLogInfo = new HashMap(); callLogInfo.put('param1',customerName); callLogInfo.put('param2',customerNo); allString.add(callLogInfo); list.remove(0); // 循環內容 for(int i = 0; i<list.size();i++){ List<String> content = Arrays.asList(list.get(i).split(',')); // 當沒有添加額外參數時 if(content!=null){callLogInfo = new HashMap();callLogInfo.put('param1',content.get(0));callLogInfo.put('param2',content.get(1));allString.add(callLogInfo); } } return allString; } /** * 讀文件數據 */ public static List<String> getSource(byte[] bate) throws IOException { BufferedReader br = null; ByteArrayInputStream fis=null; InputStreamReader isr = null; try { fis = new ByteArrayInputStream(bate); //指定以UTF-8編碼讀入 isr = new InputStreamReader(fis,'UTF-8'); br = new BufferedReader(isr); } catch (Exception e) { e.printStackTrace(); } String line; String everyLine ; List<String> allString = new ArrayList<>(); try { //讀取到的內容給line變量 while ((line = br.readLine()) != null){everyLine = line;allString.add(everyLine); } } catch (IOException e) { e.printStackTrace(); }finally { if(fis != null){fis.close(); } if(isr != null){isr.close(); } } return allString; }}

控制器(這里用的springboot):

package com.hanfengyeqiao.gjb.controller.admin; import com.hanfengyeqiao.gjb.utils.ReadCsvUtil;import io.swagger.annotations.Api;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest;import java.util.List;import java.util.Map; @Api(tags = '')@RestController@RequestMapping('/admin')public class AdminCertController { @RequestMapping('/test/upload') public void upload(HttpServletRequest request, MultipartFile upfile) throws Exception { if (request.getMethod().equals('POST')) { byte[] bate =upfile.getBytes(); List<Map<String,Object>> list=ReadCsvUtil.getResource(bate); if(list!=null){for(Map<String,Object> m:list){ System.out.println('param1:'+m.get('param1')+';param2:'+m.get('param2')+'。');} } } }}

html代碼:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>test</title></head><body> <form action='http://localhost:8088/admin/test/upload' method='post' enctype='multipart/form-data'> 上傳:<input type='file' name='upfile'/> <input type='submit' value='提交'/></form> </body><script type='text/javascript'></script></html>

示例文件

java處理csv文件上傳示例詳解

運行結果

java處理csv文件上傳示例詳解

在處理csv文件的時候容易出現編碼上的問題,小伙伴們寫代碼的時候要多注意一下!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Java
相關文章:
主站蜘蛛池模板: 国产精品揄拍一区二区久久 | 夜夜爱夜夜爽夜夜做夜夜欢 | 免费又黄又爽又猛大片午夜 | 久久爽久久爽久久免费观看 | 黄黄的网站在线观看 | 亚洲综合一区二区精品久久 | 色天天躁夜夜躁天干天干 | 欧美极度另类 | 中文字幕一区二区三区久久网站 | 美女被男人cao的爽视频黄 | 在线播放波多野结衣 | 日本免费网站视频www区 | 亚洲欧美在线综合一区二区三区 | 三级视频网站在线观看播放 | 亚洲一区二区三区国产精品 | 日本一级毛片视频无遮挡免费 | 在线免费黄色网址 | 亚洲视频一区二区在线观看 | 国产高清免费不卡观看 | 一本久久道 | 国产一级做a爱片久久毛片a | 国产国模福利视频 | 日韩一级一欧美一级国产 | 韩国一级a毛片 | 成人欧美在线观看 | 久久男人天堂 | 国产精品极品美女自在线看免费一区二区 | 欧美一级欧美一级高清 | 欧美成人eee在线 | 国外精品视频在线观看免费 | 99久久99久久久99精品齐 | 亚洲理论片在线中文字幕 | 国产午夜精品久久久久小说 | 久久99欧美 | 亚洲精品成人一区二区aⅴ 亚洲精品成人一区二区www | 国产成人a大片大片在线播放 | 在线视频久草 | 狼人青草久久网尹人 | 国产一级毛片大陆 | 草草影院永久在线观看 | 欧美日韩一区二区三区在线视频 |