1. 文件
1.1 什么是文件 610
1.2 文件流 610
2. 常用的文件操作 611
2.1 创建文件对象相关构造器和方法 611
2.1.1 相关方法 611
new File(String pathname) //根据路径构建一个File对象
new File(File parent, String child) //根据父目录文件+子路径构建
new File(String parent,String child) //根据父目录+子路径构建
createNewFile //创建新文件
2.1.2 应用案例演示
请在e盘下,创建文件news1.txt、news2.txt、 news3.txt, 用三种不同方式创建
代码在com.stulzl.file.包中
FileCreate
package com.stulzl.file;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.io.IOException;
//创建文件对象相关构造器和方法 611
//请在e盘下,创建文件news1.txt、news2.txt、 news3.txt, 用三种不同方式创建
public class FileCreate {
public static void main(String[] args) {
}
//方式1 new File(String pathname) //根据路径构建一个File对象
@Test //受用Test这个系统提供的方法直接可以运行程序
public void create01(){
String filePath = "E:\\java学习\\初级\\course129\\news1.txt";//写创建文件的路径
File file = new File(filePath);//这是系统提供的方法,创建一个file对象
try {
file.createNewFile();//这个也是系统提供的方法,创建文件news1.txt
System.out.println("文件创建成功");
} catch (IOException e) {
e.printStackTrace();
}
}
//方式2 new File(File parent, String child) //根据父目录文件+子路径构建
@Test
public void create02(){
File parentFile = new File("E:\\java学习\\初级\\course129\\");//父文件路径
String fileName = "news2.txt";//我们要创建的文件名字
//这里的 file 对象,在 java 程序中,只是一个对象
//只有执行了 createNewFile 方法,才会真正的,在磁盘创建该文件
File file = new File(parentFile, fileName);//parentFile父文件,fileName被创建文件
try {
file.createNewFile();
System.out.println("文件创建成功");
} catch (IOException e) {
e.printStackTrace();
}
}
//方式3 new File(String parent,String child) //根据父目录+子路径构建
@Test
public void create03(){
String parentFile = "E:\\java学习\\初级\\course129\\";//父目录
String fileName = "news3.txt";//被创建文件名(提示没路径就写名字)
File file = new File(parentFile, fileName);
try {
file.createNewFile();
System.out.println("文件创建成功");
} catch (IOException e) {
e.printStackTrace();
}
}
}
3. 获取文件的相关信息 612
getName(文件名字)、getAbsolutePath(绝对路径)、 getParent (父级目录)、length(文件字节大小)、 exists(文件是否存在)、isFile(是不是文件)、isDirectory(是不是一个目录)
3.1 应用案例演示
如何获取到文件的大小,文件名,路径,父File, 是文件还是目录(目录本质也是文件,一种特殊的文件),是否存在
代码在com.stulzl.file_information.包中
FileInformation
package com.stulzl.file_information;
import org.junit.jupiter.api.Test;
import java.io.File;
//获取文件的相关信息 612
//如何获取到文件的大小,文件名,路径,父File, 612
// 是文件还是目录(目录本质也是文件,一种特殊的文件),是否存在
public class FileInformation {
public static void main(String[] args) {
}
//获取文件信息方法
@Test
public void info(){
//先创建文件对象
File file = new File("E:\\java学习\\初级\\course129\\news1.txt");
//getName(文件名字)、getAbsolutePath(绝对路径)、 getParent (父级目录)、
// length(文件字节大小)、 exists(文件是否存在)、isFile(是不是文件)
// 、isDirectory(是不是一个目录)
//调用相应的方法,得到对应信息
//获取文件名
System.out.println("文件名="+file.getName());//文件名=news1.txt
//获取绝对路径
System.out.println("绝对路径="+file.getAbsolutePath());
//获取文件父级文件目录
System.out.println("父级文件目录="+file.getParent());
//文件大小
System.out.println("文件大小(字节)="+file.length());
//判断文件是否存在
System.out.println("文件是否存在="+file.exists());//true
//是不是一个文件
System.out.println("是不是一个文件="+file.isFile());//true
//是不是一个目录
System.out.println("是不是一个目录="+file.isDirectory());//false
}
}
4. 目录的操作和文件删除 613
mkdir创建一级目录、mkdirs创建多级目录、delete删除空目录或文件
4.1 应用案例演示 613
1)判断E:\\java学习\\初级\\course129\\news1.txt 是否存在,如果存在就删除
2)判断D:\\demo02是否存在,存在就删除,否则提示不存在
3)判断D:\\demo\\a\\b\\c目录是否存在,如果存在就提示已经存在,否则就创建
代码在com.stulzl.file_directory.包中
Directory_
package com.stulzl.file_directory;
import org.junit.jupiter.api.Test;
import java.io.File;
//目录的操作和文件删除 613
//1)判断E:\\java学习\\初级\\course129\\news1.txt 是否存在,如果存在就删除
//2)判断D:\\demo02是否存在,存在就删除,否则提示不存在
//3)判断D:\\demo\\a\\b\\c目录是否存在,如果存在就提示已经存在,否则就创建
public class Directory_ {
public static void main(String[] args) {
}
//1)判断E:\\java学习\\初级\\course129\\news1.txt 是否存在,如果存在就删除
@Test
public void m1(){
String filePath = "E:\\java学习\\初级\\course129\\news1.txt";
File file = new File(filePath);
if(file.exists()){//判断文件是否存在
if(file.delete()){//调用删除方法
System.out.println(filePath+"删除成功");
}else{
System.out.println(filePath+"删除失败");
}
}else{
System.out.println("该文件不存在");
}
}
//2)判断D:\\demo02是否存在,存在就删除,否则提示不存在
//提示在java编程中,目录也被当作文件看待
@Test
public void m2(){
String filePath = "D:\\demo02";
File file = new File(filePath);
if(file.exists()){//判断目录是否存在
if(file.delete()){//调用删除方法
System.out.println(filePath+"删除成功");
}else{
System.out.println(filePath+"删除失败");
}
}else{
System.out.println("该目录不存在");
}
}
//3)判断D:\\demo\\a\\b\\c目录是否存在,如果存在就提示已经存在,否则就创建
@Test
public void m3(){
String directoryPath = "D:\\demo\\a\\b\\c";
File file = new File(directoryPath);
if(file.exists()){//判断目录是否存在
System.out.println(directoryPath+"存在");
}else{
if(file.mkdirs()){//创建多级目录
System.out.println(directoryPath+"创建成功");
}else{
System.out.println(directoryPath+"创建失败");
}
}
}
}