在我的应用程序中,我将一个字符串数组发送到我服务器上的数据库。
我想在将字符串数组发送到我的服务器之前检查数组大小不大于 1MB。
如何检查我的数组大小?
你可以这样做:
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 */;
此代码应适用于所有字符集:
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
是正确的值。