1. 程式人生 > >【Java】把位元組數B轉化為KB、MB、GB的兩種方法

【Java】把位元組數B轉化為KB、MB、GB的兩種方法

方法一:

public static String fileSizeConver(long size) {  
    //如果位元組數少於1024,則直接以B為單位
    if (size < 1024) {  
        return String.valueOf(size) + "B";  
    } else {  
        size = size / 1024;  
    }  
    //如果原位元組數除於1024之後,少於1024,則可以直接以KB作為單位
    if (size < 1024) {  
        return String.valueOf(size
) + "KB"; } else { size = size / 1024; } if (size < 1024) { //因為如果以MB為單位的話,要保留最後1位小數, //因此,把此數乘以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"; } }

注:此方法精度不夠

方法二

private static String fileSizeConver(long fileS)
{
DecimalFormat df = new DecimalFormat("#.00");
String fileSizeString = "";
String wrongSize="0B";
if(fileS==0
){ return wrongSize; } if (fileS < 1024){ fileSizeString = df.format((double) fileS) + "B"; } else if (fileS < 1048576){ fileSizeString = df.format((double) fileS / 1024) + "KB"; } else if (fileS < 1073741824){ fileSizeString = df.format((double) fileS / 1048576) + "MB"; } else{ fileSizeString = df.format((double) fileS / 1073741824) + "GB"; } return fileSizeString; }

相關推薦

Java位元組B化為KBMBGB方法

方法一: public static String fileSizeConver(long size) { //如果位元組數少於1024,則直接以B為單位 if (size < 1024) { return S

位元組B轉換為KBMBGB方法

在檔案系統中,我們可以通過一些系統自帶的方法輕而易舉地獲取到檔案的大小,但是這時我們得到的往往是檔案的位元組數,而我們通常更習慣於看到類似於B,KB,MB和GB這樣的資料,博主在這裡使用java編寫了

JavaArrayList<String>化為String陣列問題

Java的容器類Collections中toArray()方法,可以把諸如ArrayList<String>的動態陣列、不定長轉化靜態陣列、定長陣列String[] 但是,如下的轉化方式是錯誤的。 [java]&nbs

Java操作mysql據庫

nbsp port str ase .exe drive manager 執行 sel package bd; import java.sql.Connection; import java.sql.DriverManager; import java.sq

Java一維

div bsp exceptio 異常 read exc linear void ava /* 1.演示初始化一維數組的三種方法 2.演示數組的 length 屬性,用 length 獲取數組長度 */ public class linear_array { p

java簡單實現據庫連接池

zed cal lean jdbc stat eof LEDE import thread 一直在想java事務是怎麽實現的,在原聲jdbc的時候級別下,我們可以通過關掉autocommit 然後再手動commit。但是項目開發中基本上是看不見conection的。所以自己

Java積分手機端-中文拼音

目錄 前因 啟示 啟示 後果 前因   這次小鹹兒因為專案的業務邏輯的需求,在一個新增頁面時,需要根據新增的中文名稱,生成一個拼音欄位值,存入到資料庫中。   如圖,手機端新增頁面: 啟示  

JavaASCII與字母互(程式碼整理)

ASCII(American Standard Code for Information Interchange,美國資訊交換標準程式碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言。 這是我轉換的程式碼工具類 package test; /**

javaArrayList的某一個元素放在最後demo

// 學生list List<Student> students = new ArrayList<>(); Student s1 = new Student("haha",12,"女"); Student

java蛇形填 螺旋填

蛇形填數 在n*n的方陣裡填成蛇形,例如:     1    2    3   4  5  16 17 18 19 6  15 24 25 20 7  14 23 22 21 8  13 12 11 10 9 原理:建立一個二維陣列,將陣列清零,用a[i][j]==0判

Java-JSP九大內建物件,作用分別是什麼? 分別有什麼方法

一、pageContext表示頁容器     pageContext物件的作用是取得任何範圍的引數,通過pageContext物件可以獲取JSP頁面的out、request、response、session、application等物件,或者可以重新定向客戶的請求等,較少使

Java多執行緒系列(三)之阻塞執行緒的多種方法

前言: 在某些應用場景下,我們可能需要等待某個執行緒執行完畢,然後才能進行後續的操作。也就是說,主執行緒需要等待子執行緒都執行完畢才能執行後續的任務。 例如,當你在計算利用多執行緒執行幾個比較耗時的任務的時候,主執行緒需要利用這幾個執行緒計算的結果,才能進行後

轉載讓DIV的滾動條自動滾動到最底部的3方法

轉載自:指令碼之家  → 網路程式設計 → JavaScript → javascript技巧 → 讓DIV的滾動條自動滾動到最底部的3種方法(推薦)http://www.jb51.net/article/93425.htm方法一:使用錨標記要滾動到的位置,然後通過click

c++ 16進位制化為10進位制的幾方法

 第一種方法:      int hex_char_value(char c) { if(c >= '0' && c <= '9') return c - '0'; else if(c >

[]安裝python3的theano庫的方法

這裡是兩種方法來安裝python3的theano庫。(都是轉載,親試有效) 之所以有兩種,是因為一開始在win10上安裝python3.4的theano庫一直不成功,就用方法一的ubuntu成功安裝,後更改為方法二。 虛擬機器的限制是需要預先設定記憶

Java後臺怎麼處理帶HTML標籤(富文字)資料的方法

前言:本人在實現業務邏輯的時候,需要在後臺把帶HTML標籤(富文字)資料的文章擷取成文章的摘要,涉及到怎麼處理帶HTML標籤資料 ,在網上一共找到了兩種解決方法:1、呼叫HtmlParser外掛HtmlParser 簡介htmlparser是一個純的java寫的html解析的

Java 劍指offer(45) 組排成最小的

code .com stringbu print ide san blog int urn 本文參考自《劍指offer》一書,代碼采用Java語言。 更多:《劍指Offer》Java實現合集 題目    輸入一個正整數數組,把數組裏所有數字拼接起來排成一個數,打印

【Java】【演算法練習輸入一個正整數陣列,把數組裡所有數字拼接起來排成一個數,列印能拼接出的所有數字中最小的一個。例如輸入陣列{3,32,321},則打印出這三個數字能排成的最小數字為321323。

題目描述:         輸入一個正整數陣列,把數組裡所有數字拼接起來排成一個數,列印能拼接出的所有數字中最小的一個。例如輸入陣列 {3,32,321},則打印出這三個數字能排成的最小數字為321323。 解題思路:        解題思路: 比較兩個字串s1 S2的

Javaintlong等基本型別佔用位元組

基本型別 所謂的佔用位元組數,就是申請記憶體的時候所佔的空間大小 型別 位元組數 最小值 最大值 boolean 未指定,至少1位元組,僅定義為取字面值true或false - - byte 1 -

Java滾動動態規劃UVA - 11137 - Ingenuous Cubrency

得到 lose math scanner light clas details 狀態 ann 滾動數組優化自己畫一下就明白了。 http://blog.csdn.net/u014800748/article/details/45849217 解題思路:本題利用遞推關系解決。