文件
是保存数据的地方,视频、音频、文字…
文件流
文件在程序中是以流的形式来操作的
**流:**数据在数据源(文件)和程序(内存)之间经历的路径
**输入流:**数据从数据源(文件)到程序(内存)的路径
**输出流:**数据从程序(内存)到数据源(文件)的路径
常用文件操作
- 创建文件对象相关构造器和方法
方法:
- new File(String pathname)//根据路径构建一个File对象
- new File(File parent,String child)//根据父目录文件+子路径构建
- new File(String parent,String child)//根据父目录+子路径构建
creatNewFile 创建新文件
package com.zj;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.io.IOException;
public class FileCreate {
public static void main(String[] args) {
}
//方式1 new File(String pathname)
@Test
public void create01(){
String filePath = "E:\\JavaStudy\\news1.txt";
File file = new File(filePath);
try {
file.createNewFile();
System.out.println("文件创建成功");
} catch (IOException e) {
e.printStackTrace();
}
}
//方式2 new File(File parent,String child)//根据父目录文件+子路径构建
@Test
public void create02(){
File parentFile = new File("E:\\JavaStudy");
String filename = "news2.txt";
//这里的file对象,在Java程序中,只是一个对象
// 只有执行了createNewFile方法,才会真正的在磁盘创建该文件
File file = new File(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 parentPath = "E:\\JavaStudy";
String filePath = "news3.txt";
File file = new File(parentPath, filePath);
try {
file.createNewFile();
System.out.println("创建成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
- 获取文件相关信息
package com.zj;
import org.junit.jupiter.api.Test;
import java.io.File;
public class FileInformation {
public static void main(String[] args) {
}
//获取文件的信息
@Test
public void info(){
//先创建文件对象
File file = new File("E:\\JavaStudy\\news1.txt");
//调用相应方法得到对应信息
System.out.println("文件名="+file.getName());
System.out.println("文件绝对路径="+file.getAbsolutePath());
System.out.println("文件父级目录="+file.getParent());
System.out.println("文件大小(字节)="+ file.length());
System.out.println("文件是否存在="+ file.exists());
System.out.println("是不是一个文件="+ file.isFile());
System.out.println("是不是一个目录="+ file.isDirectory());
}
}
- 目录的操作和文件删除
- mkdir创建一级目录、mkdirs创建多级目录、delete删除空目录或者文件
package com.zj;
import org.junit.jupiter.api.Test;
import java.io.File;
public class Directory {
public static void main(String[] args) {
}
//判断D:\\news1.txt是否存在,如果存在就删除
@Test
public void m1(){
String filePath = "E:\\JavaStudy\\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("该文件不存在");
}
}
//判断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("该目录不存在。。。");
}
}
//判断D:\\demo02\\a\\b\\c是否存在,如果存在就删除,否则就创建 创建多级目录用mkdirs(),创建一级目录用mkdir()
@Test
public void m3(){
String directoryPath = "D:\\demo02\\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+"创建失败。。。");
}
}
}
}