我在命令行参数指定一个目录名,打印输出该目录下的所有文件和子目录名,
判断如果是文件,则打印时在文件名前加上"File : "
如果是目录,则打印时在文件名前加上"Directory : "可为什么没打印出我想要的结果呢
import java.io.*;
public class SumFileSize
{
public static int size = 0;
public static void main(String[] args)
{
if (args.length == 0)
{
System.out.println("Please input a directory name.");
return;
}
File f = new File(args[0]);
if (!f.isDirectory())
throw new IllegalArgumentException("不是目录");
String[] files = f.list();
File ff = null;
for (int i = 0; i < files.length; i++)
{
ff = new File(files[i]);
System.out.println(ff.getName());
if (ff.isFile())
{
System.out.println("file : " + ff.getName());
}
else if (ff.isDirectory())
{
System.out.println("directory : " + ff.getName());
}
}
}
}打印出来这样的结果:
G:\learnjava>java SumFileSize myconsole
ReadDoubleTest.class
file : ReadDoubleTest.class
Console.class
ReadDouble.class
aa可我想要的结果是:
G:\learnjava>java SumFileSize myconsole
File : ReadDoubleTest.class
File : Console.class
File : ReadDouble.class
Directory : aa
判断如果是文件,则打印时在文件名前加上"File : "
如果是目录,则打印时在文件名前加上"Directory : "可为什么没打印出我想要的结果呢
import java.io.*;
public class SumFileSize
{
public static int size = 0;
public static void main(String[] args)
{
if (args.length == 0)
{
System.out.println("Please input a directory name.");
return;
}
File f = new File(args[0]);
if (!f.isDirectory())
throw new IllegalArgumentException("不是目录");
String[] files = f.list();
File ff = null;
for (int i = 0; i < files.length; i++)
{
ff = new File(files[i]);
System.out.println(ff.getName());
if (ff.isFile())
{
System.out.println("file : " + ff.getName());
}
else if (ff.isDirectory())
{
System.out.println("directory : " + ff.getName());
}
}
}
}打印出来这样的结果:
G:\learnjava>java SumFileSize myconsole
ReadDoubleTest.class
file : ReadDoubleTest.class
Console.class
ReadDouble.class
aa可我想要的结果是:
G:\learnjava>java SumFileSize myconsole
File : ReadDoubleTest.class
File : Console.class
File : ReadDouble.class
Directory : aa
eg:
String path=f.getPath()+System.getProperty("file.separator");
for (int i = 0; i < files.length; i++)
{
ff = new File(path+files[i]);
……
打印结果正常
则只打印出正确的文件,目录根本就不打印了。(2)我想打印当前目录下的文件及子目录的名称应该如何改?谢谢。
for (int i = 0; i < files.length; i++)
{
ff = new File(System.getProperty("user.dir"),files[i]);
if (ff.isFile())
{
System.out.println("file : " + ff.getName());
}
else if (ff.isDirectory())
{
System.out.println("directory : " + ff.getName());
}
}还是没打印出来指定目录下的子目录的名称。:(
还请各位高人指教呀。