我們在項目中經常會遇到獲取某一文件夾下的所有文件和文件大小的需求,首先要獲取所有文件的大小,File.length可以獲取到文件,但獲取到的類型是Long,我們要將該數據轉換為kb、mb等格式。
File onefile = new File(“文件路徑”); Long size = onefile.length();
public String FormetFileSize(long filesize) { //轉換文件大小 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的一個子類,用于格式化十進制數字,這個new DecimalFormat("#.00");的意思是獲取的數字保存兩位小數。
double num=2.12345678; //取一位整數 System.out.PRintln(new DecimalFormat("0").format(num));//3 //取一位整數和兩位小數 System.out.println(new DecimalFormat("0.00").format(num));//3.14 //取兩位整數和三位小數,整數不足部分以0填補。 System.out.println(new DecimalFormat("00.000").format(num));// 03.142 //取所有整數部分 System.out.println(new DecimalFormat("#").format(num));//3 //以百分比方式計數 System.out.println(new DecimalFormat("#.##%").format(num));//314.16%
符號含義 0 :一個數字 # 一個數字,不包括0 . 小數分隔符的占位符 %乘100按百分比顯示
第一次寫,還有很多不足之處,需再接再厲?。。~~~~~
新聞熱點
疑難解答