取得文件大小:
package c.file;
import java.io.*;
public class Filee {
public static void main(String[] args) throws IOException {
File f = new File("C://Downloads//plato_free070821.rar");
if (f.exists()) {
/** ///1 可以
*
* FileInputStream fis = null;
fis = new FileInputStream(f);
System.out.println("File has " + fis.available()
+ " bytes");
System.out.println("File has " + (double)((double)fis.available()/1000/1000)
+ "M");
System.out.println("File has " + (double)(fis.available()/1024/1024)
+ "M");*/
/** ///2 可以
* System.out.println("文件存在");
* System.out.println("文件大小为:"+(double)(f.length()/1024/1024)+"M");
*/
} else {
f.createNewFile();
System.out.println("文件不存在");
}
}
}
=======================================================================
取得文件夹大小:
import java.io.*;
public class Filee
{
/**
* 获得 目录 或者 文件夹的大小
* @param f
* @return
* @throws Exception
*/
private long recursionFileList(File f) throws Exception
{
long size = 0;
File flist[] = f.listFiles();
for (int i = 0; flist!=null&&i < flist.length; i++)
{
if (flist[i].isDirectory())
{
size = size + recursionFileList(flist[i]);
}
else
{
size = size + flist[i].length();
}
}
return size;
}
public static void main(String[] args) throws Exception
{
File ff = new File("C://TDDownload");
Filee g = new Filee();
if (ff.isDirectory())// //如果文件夹存在
{
long l=g.recursionFileList(ff);
System.out.println("Total size:"+(double)((double) l/1024/1024)+"M");
}
}