我們?cè)陧?xiàng)目中經(jīng)常會(huì)遇到獲取某一文件夾下的所有文件和文件大小的需求,首先要獲取所有文件的大小,F(xiàn)ile.length可以獲取到文件,但獲取到的類型是Long,我們要將該數(shù)據(jù)轉(zhuǎn)換為kb、mb等格式。
File onefile = new File(“文件路徑”); Long size = onefile.length();
public String FormetFileSize(long filesize) { //轉(zhuǎn)換文件大小 DecimalFormat df = new DecimalFormat("#.00"); String fileSizestr= ""; if (filesize < 1024) { fileSizestr= df.format((double)filesize) + "B"; } else if (filesize< 1048576) { fileSizestr= df.format((double)filesize/ 1024) + "KB"; } else if (filesize< 1073741824) { fileSizestr= df.format((double)filesize/ 1048576) + "MB"; } else { fileSizestr= df.format((double)filesize/ 1073741824) +"GB"; } return fileSizestr; }
這里DecimalFormat 是NumberFormat的一個(gè)子類,用于格式化十進(jìn)制數(shù)字,這個(gè)new DecimalFormat("#.00");的意思是獲取的數(shù)字保存兩位小數(shù)。
double num=2.12345678; //取一位整數(shù) System.out.PRintln(new DecimalFormat("0").format(num));//3 //取一位整數(shù)和兩位小數(shù) System.out.println(new DecimalFormat("0.00").format(num));//3.14 //取兩位整數(shù)和三位小數(shù),整數(shù)不足部分以0填補(bǔ)。 System.out.println(new DecimalFormat("00.000").format(num));// 03.142 //取所有整數(shù)部分 System.out.println(new DecimalFormat("#").format(num));//3 //以百分比方式計(jì)數(shù) System.out.println(new DecimalFormat("#.##%").format(num));//314.16%
符號(hào)含義 0 :一個(gè)數(shù)字 # 一個(gè)數(shù)字,不包括0 . 小數(shù)分隔符的占位符 %乘100按百分比顯示
第一次寫,還有很多不足之處,需再接再厲!!!~~~~~~
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注