java中字符串如何計算字節(jié)長度
java字符串計算字節(jié)長度
通常,計算字符串長度大小方法很多,熟悉的有將字符串寫入文件,然后讀取文件大小即可。這種方式還是比較麻煩的。
1.方法一
需要先拿到字符串===》然后再寫入文件===》再讀取文件===》統(tǒng)計文件字節(jié)流長度===》可以拿到字符串的字節(jié)大小
2.方法二
//編碼格式有 UTF-8 GB2312 GBK UTF-16 UTF-32
try {
int length = "測試不同編碼格式的字節(jié)長度".getBytes("編碼格式").length;
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}通過String的getBytes()方法去統(tǒng)計它的length,這樣是最方便的,但是有個不好之處就是設(shè)置編碼格式,這個還是有很大影響的,采用那種編碼格式計算計算出來的字節(jié)長度不一樣,所以這個比較重要。

能想到的比較好的方法,就是將編碼格式設(shè)置在配置文件中,這樣不影響字符串的字節(jié)長度計算,也比較靈活,采用那種編碼格式,就設(shè)置成什么的,后期好維護。
3.代碼中運用

java截取字符串的指定字節(jié)數(shù)長度
由于Java字符串的length計算的是字符長度,而數(shù)據(jù)庫的限制長度是字節(jié)數(shù),為了防止報錯,可以在Java程序中截取字符串的指定字節(jié)數(shù)長度
public static String getLenString(String content, int len) {
if (content == null || content.length() == 0) {
return content;
}
byte[] bytes = content.getBytes();
if (bytes.length > len) {
int tempLen = new String(bytes, 0, len).length();
content = content.substring(0, tempLen);
// 防止最后一個字符的長度不是一個字節(jié)數(shù)
if (content.getBytes().length > len) {
content = content.substring(0, tempLen - 1);
}
}
return content;
}
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Springboot在有鎖的情況下正確使用事務(wù)的實現(xiàn)代碼
這篇文章主要介紹了Springboot在有鎖的情況下如何正確使用事務(wù),今天通過一個實驗給大家分析一下商品超賣問題,模擬場景分析通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下2021-12-12
SpringBoot整合EasyExcel實現(xiàn)批量導(dǎo)入導(dǎo)出
這篇文章主要為大家詳細介紹了SpringBoot整合EasyExcel實現(xiàn)批量導(dǎo)入導(dǎo)出功能的相關(guān)知識,文中的示例代碼講解詳細,需要的小伙伴可以參考下2024-03-03
Spring Boot集成MinIO進行文件存儲和管理的詳細步驟
這篇文章主要介紹了Spring Boot集成MinIO進行文件存儲和管理的詳細步驟,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友一起看看吧2025-04-04

