这样改了一下,原来为什么没弄明白import java.io.*;
//import javax.swing.JOptionPane;public class Size
{
static int totalsize=0; public void countSize(File f)
{
//File f=new File(filename);
if(!f.isDirectory()) {
System.out.println(f.length());
System.out.println(f.canRead());
totalsize+=f.length();
System.out.println(totalsize );}
else
{
//String[] files;
File[] files=f.listFiles();
// Arrays.sort(files);
for(int i=0;i<files.length;i++)
{
System.out.println(files[i]);
countSize(files[i]);
}
}
}
public static void main(String[] args)
{
if(args.length!=1) System.err.println("No file found");
Size s=new Size();
// String ss=JOptionPane.showInputDialog(s,"sdjfksd");
s.countSize(new File(args[0])); System.out.println("totalsize:"+totalsize);
}}
//import javax.swing.JOptionPane;public class Size
{
static int totalsize=0; public void countSize(File f)
{
//File f=new File(filename);
if(!f.isDirectory()) {
System.out.println(f.length());
System.out.println(f.canRead());
totalsize+=f.length();
System.out.println(totalsize );}
else
{
//String[] files;
File[] files=f.listFiles();
// Arrays.sort(files);
for(int i=0;i<files.length;i++)
{
System.out.println(files[i]);
countSize(files[i]);
}
}
}
public static void main(String[] args)
{
if(args.length!=1) System.err.println("No file found");
Size s=new Size();
// String ss=JOptionPane.showInputDialog(s,"sdjfksd");
s.countSize(new File(args[0])); System.out.println("totalsize:"+totalsize);
}}
f.list取出的是字符串
然后
new File(字符串)是在当前路径下找文件,所以如果是当前目录可以取道大小,否则是文件也找不到的但当前路径下好像是个死循环,下班了,等高人看把。