目录
1. 文件的相关概念
(1)、文件:用来保存数据的地方。
(2)、文件流:文件在程序中是以流的形式来操作的。以java程序(内存)作为参考点,分为输入和输出流。
- 输入流:数据从数据源(文件)输入到java程序(内存)的路径
- 输出流:数据从java程序(内存)输出到数据源(文件)的路径
2. 常用操作
2.1 创建文件的方式
- 方式一:new File(String filePath).createNewFile()
- 方式二:new File(String parent,String child).createNewFile()
- 方式三:new File(File parent,String childPath).createNewFile()
2.1.1 方式一
import java.io.File;
import java.io.IOException;
public class FileCreate {
public static void main(String[] args) {
//方式一
way1_create();
}
//方式一 new File(String pathname)
public static void way1_create(){
//指定文件路径及文件名
String filePath = "e:/003_Demo/IO/new1.txt";
//生成文件对象
File file = new File(filePath);
//调用createNewFile()方法在磁盘指定的路径创建文件
try {
file.createNewFile();
System.out.println("方式一创建文件成功");
} catch (IOException e) {
e.printStackTrace();
}
}
}
2.1.2 方式二
import java.io.File;
import java.io.IOException;
public class FileCreate {
public static void main(String[] args) {
//方式二
way2_create();
}
//方式二 new File(String parent,String child),根据父路径+子路径及文件名构建
public static void way2_create(){
//指定父路径
String parent = "e:/003_Demo";
//指定子路径及文件名
String child = "/IO/new2.txt";
//生成文件对象
File file = new File(parent,child);
//调用createNewFile()方法在磁盘指定的路径创建文件
try {
file.createNewFile();
System.out.println("方式二创建文件成功");
} catch (IOException e) {
e.printStackTrace();
}
}
}
2.1.3 方式三
import java.io.File;
import java.io.IOException;
public class FileCreate {
public static void main(String[] args) {
//方式三
way3_create();
}
//方式三 new File(File parent,String childPath),根据父目录文件+子路径构建
public static void way3_create(){
//先生成父目录文件
File parentPath = new File("e:/003_Demo/IO");
//指定子路径
String childPath = "/new3.txt";
//生成文件对象
File file = new File(parentPath,childPath);
//调用createNewFile()方法在磁盘指定的路径创建文件
try {
file.createNewFile();
System.out.println("方式三创建文件成功");
} catch (IOException e) {
e.printStackTrace();
}
}
}
2.2 获取文件的相关信息
- 获取文件名:getName()
- 获取绝对路径:getAbsolutePath()
- 获取父路径:getParent()
- 获取文件大小:length()
- 判断文件是否存在:exists()
- 判断是否是文件:isFile()
- 判断是否是目录:isDirectory()
import java.io.File;
/**
* 获取文件名:getName()
* 获取绝对路径:getAbsolutePath()
* 获取父路径:getParent()
* 获取文件大小:length()
* 判断文件是否存在:exists()
* 判断是否是文件:isFile()
* 判断是否是目录:isDirectory()
*/
public class FileInformation {
public static void main(String[] args) {
//新建一个文件对象
String path = "e:/003_Demo/IO/new1.txt";
File file = new File(path);
//获取文件名
System.out.println("file的名字:" + file.getName());
//获取绝对路径
System.out.println("file的绝对路径:" + file.getAbsolutePath());
//获取父路径
System.out.println("file的父路径:" + file.getParent());
//获取文件大小
System.out.println("file的大小:" + file.length());
//判断文件是否存在
System.out.println("file是否存在:" + file.exists());
//判断是否是文件
System.out.println("file是否是文件:" + file.isFile());
//判断是否是目录
System.out.println("file是否是目录:" + file.isDirectory());
}
}
2.3 文件目录的操作和文件删除
- 创建一级目录:mkdir()
- 创建多级目录:mkdirs()
- 删除空目录:delete(),(如果目录下有文件和子目录,需先删除)
- 删除文件:delete()
在java中,删除空目录和删除文件是一样的,一个空目录所代表的文件夹会被当作一个特殊的文件进行删除。
2.3.1 删除文件
import java.io.File;
public class Directory {
public static void main(String[] args) {
//删除文件
deleteFile();
}
//删除文件
public static void deleteFile() {
//指定文件路径
String filePath = "e:/003_Demo/IO/new1.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("该文件不存在!");
}
}
}
e:/003_Demo/IO/new1.txt删除成功
2.3.2 删除目录
import java.io.File;
public class Directory {
public static void main(String[] args) {
//删除目录
deletePath();
}
//删除目录(在java中,目录也被当作文件)
public static void deletePath() {
//指定目录
String filePath = "e:/003_Demo/new";
//生成文件对象
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.3.3 创建目录
import java.io.File;
public class Directory {
public static void main(String[] args) {
//创建目录
createPath();
}
//创建目录,判断e:/003_Demo/new目录是否存在,如果存在就提示已经存在,否则就创建
public static void createPath() {
//指定目录
String dirPath = "e:/003_Demo/IO/new";
//生成文件对象
File file = new File(dirPath);
//判断目录是否存在
if (file.exists()){
System.out.println("目录已经存在!");
} else {
//创建目录
if (file.mkdirs()) {
System.out.println(dirPath + "创建成功");
} else {
System.out.println(dirPath + "创建失败");
}
}
}
}
e:/003_Demo/IO/new创建成功