欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實現(xiàn)字節(jié)數(shù)B轉化為KB、MB、GB的方法示例【測試可用】

 更新時間:2017年08月31日 09:46:12   作者:yongh701  
這篇文章主要介紹了Java實現(xiàn)字節(jié)數(shù)B轉化為KB、MB、GB的方法,結合實例形式分析了java字節(jié)數(shù)的轉換運算相關操作技巧,需要的朋友可以參考下

本文實例講述了Java實現(xiàn)字節(jié)數(shù)B轉化為KB、MB、GB的方法。分享給大家供大家參考,具體如下:

在文件處理的系統(tǒng)中,很容易就能通過一些系統(tǒng)自帶的方法取出其大小,問題是這個大小往往只是一個字節(jié)數(shù)B。

如果要把這個字節(jié)數(shù)轉化為KB、MB、GB的最終呈現(xiàn)給用戶,則涉及到整除與取余的算術運算。

方法如下:

public static String getPrintSize(long size) {
  //如果字節(jié)數(shù)少于1024,則直接以B為單位,否則先除于1024,后3位因太少無意義
  if (size < 1024) {
    return String.valueOf(size) + "B";
  } else {
    size = size / 1024;
  }
  //如果原字節(jié)數(shù)除于1024之后,少于1024,則可以直接以KB作為單位
  //因為還沒有到達要使用另一個單位的時候
  //接下去以此類推
  if (size < 1024) {
    return String.valueOf(size) + "KB";
  } else {
    size = size / 1024;
  }
  if (size < 1024) {
    //因為如果以MB為單位的話,要保留最后1位小數(shù),
    //因此,把此數(shù)乘以100之后再取余
    size = size * 100;
    return String.valueOf((size / 100)) + "."
        + String.valueOf((size % 100)) + "MB";
  } else {
    //否則如果要以GB為單位的,先除于1024再作同樣的處理
    size = size * 100 / 1024;
    return String.valueOf((size / 100)) + "."
        + String.valueOf((size % 100)) + "GB";
  }
}

在主函數(shù)調用幾個字節(jié)數(shù)B,進行測試:

package fileSize;
public class fileSizeTest {
  public static String getPrintSize(long size) {
    //如果字節(jié)數(shù)少于1024,則直接以B為單位,否則先除于1024,后3位因太少無意義
    if (size < 1024) {
      return String.valueOf(size) + "B";
    } else {
      size = size / 1024;
    }
    //如果原字節(jié)數(shù)除于1024之后,少于1024,則可以直接以KB作為單位
    //因為還沒有到達要使用另一個單位的時候
    //接下去以此類推
    if (size < 1024) {
      return String.valueOf(size) + "KB";
    } else {
      size = size / 1024;
    }
    if (size < 1024) {
      //因為如果以MB為單位的話,要保留最后1位小數(shù),
      //因此,把此數(shù)乘以100之后再取余
      size = size * 100;
      return String.valueOf((size / 100)) + "."
          + String.valueOf((size % 100)) + "MB";
    } else {
      //否則如果要以GB為單位的,先除于1024再作同樣的處理
      size = size * 100 / 1024;
      return String.valueOf((size / 100)) + "."
          + String.valueOf((size % 100)) + "GB";
    }
  }
  public static void main(String[] args) {
    System.out.println("來自 www.dbjr.com.cn 的測試結果:");
    System.out.println(getPrintSize(200));
    System.out.println(getPrintSize(200000));
    System.out.println(getPrintSize(200000000));
    System.out.println(getPrintSize(2000000000));
  }
}

運行結果如下圖:

更多關于java算法相關內容感興趣的讀者可查看本站專題:《Java數(shù)學運算技巧總結》、《Java數(shù)據(jù)結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對大家java程序設計有所幫助。

相關文章

最新評論