JAVA-----IO篇七(File类)
java.io.File继承自java.lang.Object,继承了Serializabe和Comparable接口。
由此可见File类和之前IO流所述的四大家族(inputStream、outputStream、Reader、Wirter)并没有关系。File类也并非是一个流,仅仅通过File类,无法完成文件的读和写。
文件和目录路径名的抽象表示形式:File
需要掌握File类的常用方法。
exists():判断该File对象是否存在。返回true,false。
createNewFile():以文件的形式创建出来,没有后缀名,文件类型只显示文件。返回是否创建成功ture,false。
mkdir():以目录的形式创建。
mkdirs():以多重目录的形式创建。
getPath():获取该文件对象的路径。
getParent():获取该文件对象的父路径。
getParentFile():获取父级File对象。
getAbsolutePath():获取绝对路径。
/**
* @author cz
* @date 2020/6/20/020
**/
public class FileTest {
public static void main(String[] args) throws IOException {
File f = new File("F:\\a1");
// System.out.println(f.exists()); //exists()判断File对象是否存在,返回true或者false
// 如果该文件不存在
if (!f.exists()){
f.createNewFile(); //就以文件的形式创建出来,没有后缀名,文件类型只显示文件
f.mkdir(); //以目录的形式创建
}
File f2 = new File("F:\\a\\b\\c");
if (!f2.exists()){
f2.mkdirs(); //以多重目录的形式重建
}
File f3 = new File("F:\\a\\b\\c\\a.txt");
// 获取文件的路径
String path = f3.getPath(); //获取该文件的路径 F:\\a\\b\\c\\a.txt
String pathParents = f3.getParent(); //获取该文件的父路径 F:\a\b\c
File parentFile = f3.getParentFile(); //获取父级File对象
String absolutePath = parentFile.getAbsolutePath(); // 父级File绝对路径 F:\a\b\c
System.out.println(path+"----"+pathParents);
System.out.println(absolutePath+" 父级File绝对路径");
}
}
需要掌握File类的常用方法。
getName():获取文件名
isFile():判断是否为文件
isDirectory():判断是否为目录
lastModified():该File对象最后一次修改时间,返回为毫秒数。从1970年到现在的毫秒数
length():该文件的大小。
public class FileTest {
public static void main(String[] args) throws IOException {
File f = new File("F:\\a1");
String name = f.getName(); //获取文件名
System.out.println(name); // a1
// 判断是否是一个文件 true
System.out.println(f.isFile());
// 判断是否是一个目录 false
System.out.println(f.isDirectory());
// 获取文件最后一次修改时间,返回Long类型,是毫秒,从1970年到现在的总毫秒数
Date date = new Date(f.lastModified());
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
String format = simpleDateFormat.format(date);
System.out.println("毫秒数"+f.lastModified()+",格式化时间为:"+format);
// 毫秒数1592620638706,格式化时间为:2020-06-20 10:37:18 706
//获取文件大小,字节大小
System.out.println(f.length());
}
}
需要掌握File类的常用方法。
listFiles(); 获得该File对象下的所有子文件,返回对象时File数组。
public class FileTest {
public static void main(String[] args) throws IOException {
// listFiles方法,能够获取该目录下的所有子文件
File f = new File("F:\\软件结构");
File[] files = f.listFiles(); //返回对象时,File数组
for (File f1:files){
System.out.println("文件名"+f1.getName()+" 文件路径"+f1.getPath());
}
}
}