csv跨域傳輸再生成csv檔案處理
前文:
使用hutool,csvUtil處理讀取csv檔案裡面資訊傳送給mq,然後從mq上面拿到資料在落地生成csv,這裡思路做個記錄
正文:
1、首先我們讀取csv檔案,
CsvReader reader = CsvUtil.getReader();
//設定分隔符
reader.setFieldSeparator(’,’);
//csv檔案,這裡只是個例子
File file = new File(“e:/testWrite.csv”);
CsvData csvData = reader.read(file,Charset.forName(“UTF-8”));
2、對csv資料進行處理,轉成json資料
//這裡是獲取csv第一行資料(非標題),第一行資料是列名資料
CsvRow csvRow = csvData.getRow(0);
// org.json.JSONObject
JSONObject object = new JSONObject();
//因為csvData第一行資料是列名所以跳過0直接從1開始
for(int i=1;i<csvData.getRowCount();i++){
//根據csvRow的列名新增到object
for(int j=0;j<csvRow.size();j++){
object.put(csvRow.get(j), csvData.getRow(i).get(j));
}
3、json資料轉成byte陣列併傳送
MqPublisher mqPublisher = MqPublisher.getInstance(agent, service, topic);
byte[] bytes = AES.encrypt(json,jsonKey);
mqPublisher.send(bytes);
}
3、消費者接收資訊並轉成csv
//用一個jsonArray記錄存入訊息
private static JSONArray xxArray = new JSONArray();
//儲存訊息數量
private static long flagNumber;
//訊息數量初始化
private static AtomicLong receiveNumber = new AtomicLong(1);
消費者拿到byte[]陣列資訊,轉換成string然後轉換成JSONObject
JSONObject jsonObject = new JSONObject(decryptStr);
每接收到一條訊息,receiveNumber就加一,並將flagNumber賦值,並新增到xxArray
receiveNumber.getAndIncrement();
flagNumber = receiveNumber.get();
xxArray .put(jsonObject);
如果xxArray的數量等於flagNumber(即達到配置所定的多少條訊息生成csv檔案)
jsonToCsv(ba,csvbwDirStatic);
private static void jsonToCsv(JSONArray result,String dir){
String fileName = dir+File.separator+getFileNameId()+".csv";
logger.info(“MQ解密後資料=”+result);
List<Map<String, String>> flatJson;
try {
flatJson = JSONFlattener.parse(result);
result = new JSONArray();
CSVWriter.writeToFile(CSVWriter.getCSV(flatJson), fileName);
logger.info(“MQ資料解密後生成檔案=”+fileName);
} catch (JSONException e) {
// TODO Auto-generated catch block
}
}
完結撒花
相關文章
- 使用 Python 處理 CSV 檔案Python
- python生成CSV檔案Python
- Linux中利用csvquote處理csv檔案Linux
- Python處理CSV檔案的幾個方法Python
- 如何處理大體積 XLSX/CSV/TXT 檔案?
- Django - 檢視層 - 生成CSV檔案Django
- Modern CSV for mac CSV檔案編輯器Mac
- csv是什麼格式檔案 csv檔案是什麼意思
- pandas操作csv檔案
- CSV檔案儲存
- NPM酷庫049:csv-parse,解析csv檔案NPM
- csv檔案用什麼開啟 csv是什麼格式檔案
- java匯出CSV檔案Java
- Mysql匯入csv檔案MySql
- python 寫入CSV檔案Python
- SQLServer匯入大CSV檔案SQLServer
- PHP 匯出 CSV 格式檔案PHP
- 使用go語言對csv檔案進行解析處理,匯入匯出。Go
- Modern CSV for mac(CSV檔案編輯器) v2.0.2註冊版Mac
- Modern CSV for mac(CSV檔案編輯器)v2.0.2註冊版Mac
- SQLite3 匯出 CSV 檔案SQLite
- Python合併多個csv檔案Python
- django下載csv檔案筆記Django筆記
- js實現使用檔案流下載csv檔案JS
- CSV Converter Pro for Mac(csv檔案轉換工具) v2.0啟用版Mac
- 跨國檔案傳輸軟體有哪些?跨國檔案傳輸遇到的問題
- java快速實現匯出生成csv檔案(含註釋程式碼)Java
- PHP 匯出大資料 CSV 檔案PHP大資料
- python 使用字典讀取CSV檔案Python
- csv檔案的寫入和讀取
- EasyDataTransform mac (轉換Excel和CSV檔案)ORMMacExcel
- win10區域網內傳檔案很慢怎麼辦 win10區域網內檔案傳輸很慢如何處理Win10
- csv格式檔案在win10上如何開啟_win10怎麼開啟csv格式檔案Win10
- 叮咚!您有一份跨網域跨安全域檔案傳輸方案待查收
- 如何使用python把json檔案轉換為csv檔案PythonJSON
- springboot跨域處理Spring Boot跨域
- Go Web:資料儲存(2)——CSV檔案GoWeb
- office for Mac Excel匯入csv檔案亂碼MacExcel