得到文件的大小的一般是直接到得到的是文件的字節大小,也就是kb,我們有的時候需要做單位換算成B或者M,
下面方法只是換成M,沒有到G,
有更好的方法,請隨時溝通,以便交流學習,謝謝.
public static void main(String[] args) { String fileSize = "2077"; System.out.println("fileSize轉換之后"+toFileSizeM(fileSize)); } /** * 將文件大小kb轉換成M * @param fileSizeKb * @return fileSizeM */ public static String toFileSizeM(String fileSizeKb){ String fileSizeM= ""; if(fileSizeKb==null) fileSizeM ="0"+"B"; long fSize = Long.valueOf(fileSizeKb); if(fSize<1024){ fileSizeM = fileSizeKb+"B";//字節 }else if(fSize>1024){ BigDecimal bg = new BigDecimal(fSize); BigDecimal flsize = new BigDecimal(fSize); BigDecimal temp = new BigDecimal(1024); if(-1==temp.compareTo(flsize) || 0==temp.compareTo(flsize)){ //四色五入保留2位小數(根據需求隨意調整) flsize = bg.divide(new BigDecimal(1024), 2,BigDecimal.ROUND_HALF_UP); fileSizeM =flsize+"KB"; } if(-1==temp.compareTo(flsize) || 0==temp.compareTo(flsize)){ //MB //四色五入保留2位小數(根據需求隨意調整) flsize = flsize.divide(new BigDecimal(1024), 2,BigDecimal.ROUND_HALF_UP); fileSizeM = flsize+"M"; } } return fileSizeM;