File和IO流
File
File是java.io.包下的类,File类的对象,用于代表当前操作系统的文件(可以是文件、或文件夹)。
IO流
用于读写数据的(可以读写文件,或网络中的数据...)
File代表文件 IO流用来读写数据
File
创建对象
创建File类的对象
注意:
File对象既可以代表文件、也可以代表文件夹。
Fil封装的对象仅仅是一个路径名,这个路径可以是存在的,也允许是不存在的。
绝对路径和相对路径
绝对路径从盘符开始:
相对路径不带盘符,默认直接到当前工程下的目录寻找文件:
package com.itchinajie.d1_file;
import java.io.File;
/*
*目标掌握File创建对象,代表具体文件的方案
* */
public class FileTest1 {
public static void main(String[] args) {
//1、创建一个File对象,指代某个具体文件
//路径分隔符
//File file1 = new File("\u202AE:/Java/resource/ab.txt");
//File file1 = new File("\u202AE:\\Java\\resource\\ab.txt");
File file1 = new File("E:" + File.separator + "Java" + File.separator + "resource" + File.separator + "ab.txt");
System.out.println(file1.length());//文件大小(字节)
File file2 = new File("E:/Java");
System.out.println(file2.length());
//注意:File对象可以指代一个不存在的文件路径
File f3 = new File( "D:/resource/aaaa.txt");
System.out.println(f3.length());
System.out.println(f3.exists()); // false
//如果要定位的文件在模块中,直接右键可以复制文件路径
//绝对路径
//File file4 = new File("E:\\Java\\code\\file-io-app\\src\\itchinajie.txt");
//相对路径(重点):不带盘符,默认是直接去工程下找文件
File file4 = new File("file-io-app\\src\\itchinajie.txt");
System.out.println(file4.length());
}
}
判断文件类型和获取文件信息功能
源码展示:
//1.创建文件对象,指代某个文件
File f1 = new File( "E:\\Java\\code\\file-io-app\\src\\itchinajie.txt");
//File f1 = new File("D:/resource/");
//2、public boolean exists():判断当前文件对象,对应的文件路径是否存在,存在返回true.
System.out.println(f1.exists());
//3、public boolean isFile():判断当前文件对象指代的是否是文件,是文件返回true,反之。
System.out.println(f1.isFile());
//4、public boolean isDirectory():判断当前文件对象指代的是否是文件夹,是文件夹返回true,反之。
System.out.println(f1.isDirectory());
//5.public String getName():获取文件的名称(包含后缀)
System.out.println(f1.getName());
//6.public long length():获取文件的大小,返回字节个数
System.out.println(f1.length());
//7.publicLongLastModified():获取文件的最后修改时间。
long time = f1.lastModified();
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy/MM/dd HH:mm:ss");
System.out.println(sdf.format(time));
//8.public String getPath():获取创建文件对象时,使用的路径
File f2 = new File( "E:\\Java\\code\\file-io-app\\src\\itchinajie.txt");
File f3 = new File( "src/itchinajie.txt");
System.out.println(f2.getPath());
System.out.println(f3.getPath());
//9.public String getAbsolutePath():获取绝对路径
System.out.println(f2.getPath());
System.out.println(f3.getPath());
创建和删除文件
File类创建文件功能
File类删除文件的功能
注意:delete方法默认只能删除文件和空文件夹,删除后的文件不会进入回收站。
源码展示:
package com.itchinajie.d1_file;
import java.io.File;
import java.io.IOException;
/*
* 目标:掌握File提供的创建和删除文件相关的方法
* */
public class FileTest3 {
public static void main(String[] args) throws IOException {
//1、public boolean createNewFile():创建一个新文件(文件内容为空),创建成功返回true,反之。
File f1 = new File( "E:\\Java\\code\\file-io-app\\src\\abcd.txt");
System.out.println(f1.createNewFile());
//2、public boolean mkdir():用于创建文件夹,注意:只能创建一级文件夹
File f2 = new File( "E:\\Java\\code\\file-io-app\\src\\ddd");
System.out.println(f2.mkdir());
//3、public boolean mkdirs():用于创建文件夹,注意:可以创建多级文件夹
File f3 = new File( "E:\\Java\\code\\file-io-app\\src\\aaa\\bbb\\ccc");