在JAVA中,如何根据大小切掉字符串?

在JAVA中,如何根据大小切掉字符串?,java,string,Java,String,如果大小超过1mb,我需要切掉一根线 我如何用java实现它??基本上,任何大于1mb的内容都必须被切掉,我应该得到一个大小正好为1mb或小于1mb的字符串。请为您的字符串尝试以下代码: public static void main(String[] args) { // Get length of String in bytes String string = "long string"; long sizeInBytes = string.g

如果大小超过1mb,我需要切掉一根线


我如何用java实现它??基本上,任何大于1mb的内容都必须被切掉,我应该得到一个大小正好为1mb或小于1mb的字符串。

请为您的字符串尝试以下代码:

public static void main(String[] args) {
        // Get length of String in bytes
        String string = "long string";
        long sizeInBytes = string.getBytes().length;
        int oneMb=1024*1024;
        if (sizeInBytes>oneMb) {
          String string1Mb=string.substring(0, oneMb);
        }
    }

考虑字符的2字节。但根据所使用的编码,它仍然会有所不同。


考虑是否使用UTF-8编码,每个字符需要1个字节。您可以每1048576字节(1 MB)进行一次切分。

我认为您问题的答案将取决于字符串的编码。一些钝汉字可能需要4个字节,而基本ASCII字符可能只需要1个字节。不是每个字符1字节。它是一种可变长度编码,每个字符使用1到4个字节。