在我的应用程序中,我将一个String数组发送到我服务器上的数据库。
我想在将String数组发送到服务器之前检查数组大小是否大于1MB。
如何检查数组大小?
答案 0 :(得分:1)
你可以这样做:
String entireArray = Arrays.toString(arrayOfStrings); // If you don't want to use this method, you can make your own
int finalSizeInBytes = entireArray.length() * 2; //Each character is 2B
double finalSizeInMB = (double)finalSizeInBytes/(1024*1024); //convert to B to MB
if(finalSizeInMB > 1) {
//More than 1MB
} else {
//Less than 1MB
}
<小时/> 的更新强>
由于您使用JSON将数据发送到服务器,因此您应该更改该行
String entireArray = Arrays.toString(arrayOfStrings);
要
String entireArray = /* Whatever you use to get a JSON representation of the array */;
<小时/> 更新2
此代码适用于所有字符集:
int finalSizeInBytes = yourString.getBytes().length;
double finalSizeInMB = (double)finalSizeInBytes/(1024*1024); //convert to B to MB
if(finalSizeInMB > 1) {
//More than 1MB
} else {
//Less than 1MB
}
使用
yourString = "汉字/漢字";
我得到了
finalSizeInBytes = 13
使用上一个方法,我得到10
(字符串长度为5
,5*2 = 10
),这是错误的,13
是正确的值。