天天看點

【日常踩坑】Java在Linux環境生成檔案格式問題

最近有個要和第三方系統進行檔案對接的需求,按照對方要求完成對接需求嗎,在聯調過程中發現第三方系統無法解析我上傳的txt檔案,且檔案編碼格式是第三方系統要求的UTF-8格式,自我檢查一整天時間才發現了這個生成檔案的坑,也怪自己對Linux檔案了解不深導緻的,特記錄如下:

背景

需要和第三方系統進行上報txt檔案對接

問題

按照要求生成的UTF-8格式的檔案始終解析失敗

定位原因

是因為生成的檔案,編碼格式符合要求,但是檔案格式是dos格式,導緻第三方系統解析失敗。

項目中是使用FileOutputStream生成的檔案,但是在資料換行時,我使用的 \n\r 進行換行,但是在Linux環境中隻需要使用 \n 即是換行,多餘的 \r 符号導緻檔案格式變成dos格式

附Linux環境下檢視檔案格式的方法
1、用vim打開檔案
2、:set ff
           

解決辦法

在生成檔案時,将資料換行符從 \n\r 替換為 \n 即可

更多相關内容請移步個人部落格首頁