获取字符串数组大小

时间:2013-09-05 19:51:55

标签: java

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

我想在将String数组发送到服务器之前检查数组大小是否大于1MB。

如何检查数组大小?

1 个答案:

答案 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(字符串长度为55*2 = 10),这是错误的,13是正确的值。