0

在我的应用程序中,我将一个字符串数组发送到我服务器上的数据库。

我想在将字符串数组发送到我的服务器之前检查数组大小不大于 1MB。

如何检查我的数组大小?

4

1 回答 1

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是正确的值。

于 2013-09-05T19:55:45.057 回答