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
- CSVKIT——處理csv檔案的瑞士軍刀
- 對於CSV檔案中{,}和{"}的處理
- Python處理CSV檔案的幾個方法Python
- 如何處理大體積 XLSX/CSV/TXT 檔案?
- Django - 檢視層 - 生成CSV檔案Django
- Modern CSV for mac CSV檔案編輯器Mac
- python - csv : 將text轉為csv檔案 (txt2csv)Python
- LaraCSV--從 Eloquent 模型中生成 CSV 檔案模型
- Oracle通過SQL Plus生成CSV、Excel檔案OracleSQLExcel
- csv是什麼格式檔案 csv檔案是什麼意思
- pandas操作csv檔案
- CSV檔案儲存
- NPM酷庫049:csv-parse,解析csv檔案NPM
- 上傳本地.CSV檔案到內表中
- csv檔案用什麼開啟 csv是什麼格式檔案
- Mysql匯入csv檔案MySql
- iOS讀取.csv檔案iOS
- java匯出CSV檔案Java
- 用Java解析CSV檔案Java
- Oracle 通過儲存過程來生成CSV檔案Oracle儲存過程
- PHP 匯出 CSV 格式檔案PHP
- SQLServer匯入大CSV檔案SQLServer
- mysql匯入csv格式檔案MySql
- python 讀取csv檔案Python
- oralce 匯出csv格式檔案
- 一個CSV檔案解析類
- python 寫入CSV檔案Python
- [20140506]SQL Developer生成CSV檔案.txtSQLDeveloper
- 使用go語言對csv檔案進行解析處理,匯入匯出。Go
- Modern CSV for mac(CSV檔案編輯器)v2.0.2註冊版Mac
- Modern CSV for mac(CSV檔案編輯器) v2.0.2註冊版Mac
- django下載csv檔案筆記Django筆記
- SQLite3 匯出 CSV 檔案SQLite
- js實現使用檔案流下載csv檔案JS
- 跨國檔案傳輸軟體有哪些?跨國檔案傳輸遇到的問題