IO流--File类
File类
一个File的对象就表示一个计算机中的文件或者目录(文件夹)
/*
File类的构造方法的3种方式
*/
File f =new File("D:/Users/17509/Desktop/非凡/IO/demo.txt");
String p="D:/Users/17509/Desktop/非凡/IO/";
File f1= new File(p,"demo.txt");
File f2= new File(p,"Api");
File fp = new File("D:/Users/17509/Desktop/非凡/IO/");
File f3 = new File(fp,"demo.txt");
File f4 = new File(fp,"Api");
File类中的功能
File f = new File("D:/IO/demo.txt");//在创建File对象时,不检测文件是否存在
System.out.println(f.length());//获取文件内容的长度,以字节为单位
System.out.println(f.getParent());
System.out.println(f.getName());
System.out.println(f.getAbsolutePath());//获得相对路径的文件绝对路径
System.out.println(f.exists());//是否存在
System.out.println(f.isDirectory());//判断是否为文件夹
System.out.println(f.isHidden());//判断文件是否为隐藏文件
System.out.println(f.isAbsolute());//判断文件是否为绝对路径
System.out.println(f.canWrite());//修改文件属性为可写
System.out.println(f.canRead());//修改文件属性为可读
System.out.println(f.canExecute());
System.out.println(f.getPath());//获得路径
System.out.println(f.lastModified());//获取最后修改时间
对文件的操作
public static void main(String[] args) {
/*
createNewFile() 创建文件
如果已经存在,就不创建了,返回false
如果不存在,就创建 返回true
如果盘符/地址在计算机没有,直接抛出异常
*/
/* File f = new File("G:/demo.txt");
try {
System.out.println(f.createNewFile());
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(f.delete());//删除文件,存在返回true,不存在,返回false*/
/* File f = new File("E:/demo/demo");
System.out.println(f.mkdir());//只能创建单级文件夹
f.mkdirs();//可以创建多级文件夹
f.delete();//删除时文件夹必须为空*/
File f = new File("E:");
//获取指定目录下的所有自己的文件或者目录,以字符串形式返回
/* String [] s = f.list();
for (String arr:s) {
System.out.println(arr);
}*/
//添加筛选条件,筛选文件
/*String [] arr = f.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return StringUtil.subFileType(name).equalsIgnoreCase("txt");
}
});
for (String arr0:arr) {
System.out.println(arr0);
}*/
File[] fs = f.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return StringUtil.subFileType(name).equalsIgnoreCase("txt");
}
});
for (File ft:fs) {
System.out.println(ft);
}
File f1 =new File("E:/log.txt");
File f2 =new File("E:/newLog.txt");
f1.renameTo(f2);//对文件进行重命名
}