簡體   English   中英

在 java 中以 MB/GB 為單位獲取 InputStream/String 的大小

[英]Getting Size of InputStream/String in MB/GB in java

處理由 String 構造的 InputStream。 有人可以幫助我使用任何預定義的方法來獲取 InputStream 或 String 的大小嗎? 我正在使用下面的方法,但是當我將字符串保存到文件中時,它給了我相當不同的大小。 PS:-我需要在將其保存到文件之前根據大小執行操作。 我需要處理大約 2GB 的相當大的數據。

  public static float getSizeInGB(String data) {
        float unit = 1024.0f;
        float dataBytes = data.getBytes(StandardCharsets.UTF_8).length * 2;
        if (data == null) {
            return 0;
        }
        return dataBytes/ (unit * unit * unit);
    }

根據這篇文章https://stackoverflow.com/questions/88838/how-to-convert-strings-to-and-from-utf8-byte-arrays-in-java/88863#88863

你可以這樣做:

byte[] b = data.getBytes("UTF-8");
System.out.println(b.length);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM