这里要给大家呈现的是如何利用java下的IO来模仿Windows下面的cmd命令行的dir命令:
package a10;
import java.io.File;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.logging.SimpleFormatter;
public class Test103 {
public static void main(String[] args) {
File f = new File("F:\\myeclipse 6.5");
System.out.println(f.exists());
//File[] fs = f.listFiles();
for (int i = 0; i < fs.length; i++) {
Date date = new Date(fs[i].lastModified());
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd hh:mm:ss");
System.out.print(sdf.format(date) +"\t");
if (fs[i].isDirectory()) {
System.out.print("<DIR>\t");
} else {
System.out.print("\t");
}
if (fs[i].isFile()) {
DecimalFormat dFormat = new DecimalFormat("#,##0.00");
System.out.print(dFormat.format(fs[i].length()/1024.0)+"KB"+"");
}
System.out.println("\t"+fs[i].getName());
}
}
}
运行结果为:
true
2015-04-12 11:47:44 <DIR> code
2009-04-13 09:05:08 451,610.26KB MyEclipse6.5.0GAE3.3.2InstallerA.exe
2011-11-03 11:56:52 449,696.78KB MyEclipse6.5.zip
2013-02-24 01:50:20 9.18KB MyEclipse6.5注册机.rar
2015-03-23 04:11:26 0.03KB 新建 文本文档.txt
2011-04-11 08:30:42 1.59KB 西西下载.txt
2011-04-28 05:57:10 0.08KB 西西软件.url
下面对以上代码中的重点进行讲解:
1.
SimpleDateFormat sdf = new SimpleDateFormat("YYYY-MM-dd hh:mm:ss");
1.这个类SimpleDateFormat 中就有Date这个单词,所以是来处理Date类型的类,可以按照我们所想的格式来写。
Y/y:年。一般为“yyyy”
M:月。一般为“MM”
m:分钟。例为:“mm”
D:年中的天数。
d:月中天数。例为:“dd”
H/h:小时。例为:“hh”
s:分钟中秒数。例为:“ss”
new SimpleDateFormat(“YYYY-MM-dd hh:mm:ss”);
这里就是例如:“1994-09-28 14:23:43”
按照如上格式创建的一个SimpleDateFormat类对象,然后sdf调用format()方法(这个是继承至Format父类),返回String
2.
DecimalFormat dFormat = new DecimalFormat("#,##0.00");
System.out.print(dFormat.format(fs[i].length()/1024.0)+"KB"+"");
Decimal:小数的,十进位的(英译汉)
new DecimalFormat(“#,##0.00”);和上面的那个SimpleDateFormat类类似,上述那种方式是从个位开始,每三位有个“,”做间隔。
“#”:阿拉伯数字,如果不存在则显示为 0 ,若在小数点后面的话,若为整数,就不显示字符。
“0”:阿拉伯数字 ,若在小数点后面的话,若为整数,就显示“0”,否者该显示多少就是多少。