package demo.file;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.channels.FileChannel;
import java.text.DecimalFormat;
public class FileSize {
public static void main(String[] args) {
String path = "E:\\Windows 10 Ent 1803 x64 -EUC Vanila.7z";
String fileSize = getFileSize(path);
System.out.println(fileSize);
}
/**
* 传入文件路径,可以得到文件的大小信息 FileInputStream.getChannel()
* @param path 文件路径
* @return FileSize
*/
public static String getFileSize(String path) {
String FileSize = null;
try {
// 指定路径即可
File file = new File(path);
FileInputStream fis = null;
FileChannel fileChannel = null;
if(file.exists() && file.isFile()){
fis = new FileInputStream(file);
fileChannel = fis.getChannel();
}
// 保留小数点后2位
DecimalFormat df = new DecimalFormat("#.##");
// if((double)((double) fis.available() / 1024) > 1000) {
// FileSize= df.format((double)((double) fileChannel.size() / 1024 / 1024)) + "MB";
// } else {
FileSize= df.format((double)((double) fis.available() / 1024)) + "KB";
// }
} catch (Exception e) {
e.printStackTrace();
}
return FileSize;
}
}