java 分割csv數(shù)據(jù)的實例詳解
java 分割csv數(shù)據(jù)的實例詳解
實際需要解析的csv中很多都是從excel中轉(zhuǎn)過來的,數(shù)據(jù)中本身包含了逗號的數(shù)據(jù)導致split的過程中發(fā)現(xiàn)數(shù)據(jù)對不上,因此,基于這種特性,重新寫了一個csv數(shù)據(jù)的分割方法:
實現(xiàn)代碼:
public static String[] split(String line) {
List<String> list = new ArrayList<>();
int start = 0;
int end = -1;
while(true) {
start = end + 1;
if(line.charAt(start) == '\"') {
end = line.indexOf("\"", start ) + 1;
} else {
end = line.indexOf("," , start );
}
if(end < 0) {
//最后了
end = line.length() ;
}
String p1 = line.substring(start, end);
list.add(p1);
if(end >= line.length() - 1) {
break;
}
}
return list.toArray(new String[0]) ;
}
利用的特性為:excel轉(zhuǎn)儲csv的時候,如果列值包含逗號會用雙引號括起來。
以上就是java 分割csv數(shù)據(jù)的簡單實例,如有疑問大家可以到本站留言,討論,或者到本站搜索相關內(nèi)容,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
java中synchronized Lock(本地同步)鎖的8種情況
本文主要介紹了java中synchronized Lock(本地同步)鎖的8種情況,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
Maven中dependency和plugins的繼承與約束
這篇文章主要介紹了Maven中dependency和plugins的繼承與約束,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
Spring使用@Async出現(xiàn)循環(huán)依賴原因及解決方案分析
在Spring框架中,啟用異步功能需要在應用主類上添加@EnableAsync注解,當項目中存在循環(huán)引用時,如一個異步類MessageService和一個常規(guī)類TaskService相互引用,并且這兩個類位于同一包內(nèi),這種情況下可能會觸發(fā)Spring的循環(huán)依賴異常2024-10-10
SpringBoot2使用JTA組件實現(xiàn)基于JdbcTemplate多數(shù)據(jù)源事務管理(親測好用)
這篇文章主要介紹了SpringBoot2使用JTA組件實現(xiàn)基于JdbcTemplate多數(shù)據(jù)源事務管理(親測好用),在Spring?Boot?2.x中,整合了這兩個JTA的實現(xiàn)分別是Atomikos和Bitronix,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2022-07-07
mybatis教程之動態(tài)sql語句_動力節(jié)點Java學院整理
這篇文章主要介紹了mybatis教程之動態(tài)sql語句,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09
SpringSecurity OAuth2單點登錄和登出的實現(xiàn)
本文主要介紹了SpringSecurity OAuth2單點登錄和登出的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-02-02

