Java IO包
IO= input /output = 输入和输出
主要是跟文件打交道
文件系统操作
java.io.File类
File类可以封装文件和目录的一些操作
案例一:显示一个文件的信息
import java.io.File;
import java.util.Calendar;
public class Test15 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//File file = new File("C:\\Windows\\write.exe");
File file =new File("C:\\Windows\\write.exe");
//把信息存在下面这个类中,StringBuilder这个类是存放字符串的
StringBuilder str = new StringBuilder();
//如何转换成常见时间表示
Calendar ca = Calendar.getInstance();
ca.setTimeInMillis(file.lastModified());
str.append("最后修改日期:"+ca.getTime().toLocaleString());
//str.append("最后修改日期:"+file.lastModified());
str.append("\n");
str.append("文件大小:"+file.length());
str.append("\n");
if(file.isDirectory())
{
str.append("类型为目录!");
}
else
{
str.append("类型为文件!");
}
System.out.println(str.toString());
}
}
输出结果:
案例二:显示某个盘上根目录下所有文件和目录,并对二者进行区分。
import java.io.File;
import java.util.Calendar;
public class Test15 {
public static void main(String[] args) {
// TODO Auto-generated method stub
File file = new File("e:\\");
File[] files=file.listFiles();
//for(int i=0;i<files.length;i++);循环
//数组循环的另一种办法,这个数组里面存的是file
for(File f:files)
{
if(f.isDirectory())
{
System.out.print("O");//目录就打印O作为标识
}
else
{
System.out.print("X");//文件则打印X作为标识
}
System.out.println("\t"+f.getPath());
}
}
}
输出结果:
案例三:找出某个盘符下所有扩展名为TXT的文件,并显示出来。(递归算法)
import java.io.File;
import java.util.Calendar;
public class Test15 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String path = "d:\\";
Show(path);
}
static void Show(String path)
{
//System.out.println("当前正在处理!"+path);
if(path.endsWith("System Volume Information"))//直接跳过不能访问的文件夹,解决报错问题
{
return;
}
File file = new File(path);
File[] files=file.listFiles();
for(File f:files)
{
if(f.isFile())
{
if(f.getPath().toUpperCase().endsWith(".TXT"))
{
System.out.println(f.getPath());
}
}
else
{
Show(f.getPath());
}
}
}
}
输出结果: