Java中的文件操作

80 阅读1分钟

Java文件常用的API

方法类型描述
canRead()Boolean测试文件是否可以读取
canWrite()Boolean测试文件是否可以写入
createNewFile()Boolean创建一个空文件
delete()Boolean删除文件
exists()Boolean测试文件是否存在
getName()String获取文件的名称
getAbsolutePath()String获取文件的绝对路径
length()Long返回文件的大小(以字节为单位)
list()String[]返回目录中的文件
mkdir()Boolean创建一个目录

创建与写入文件

创建文件

import java.io.File;
import java.io.IOException;

public class CreateFile {
    public static void main(String[] args)  {
        File fileName = new File("hello.txt");
        try{
            if(fileName.createNewFile()) {
                System.out.println("创建文件成功:" + fileName.getName());
            } else {
                System.out.println("文件已经存在");
            }
        } catch(IOException e) {
            e.printStackTrace();
        }
    }
}

写入文件

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class CreateFile {
    public static void main(String[] args)  {
        File fileName = new File("hello.txt");
        try{
            if(fileName.createNewFile()) {
                System.out.println("创建文件成功:" + fileName.getName());
            } else {
                FileWriter fileWriter = new FileWriter("hello.txt");
                fileWriter.write("Hello Worls");
                fileWriter.close();
                System.out.println("文件已经存在");
            }
        } catch(IOException e) {
            e.printStackTrace();
        }
    }
}

读取文件

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ReadFile {
    public static void main(String[] args) throws FileNotFoundException {
        File fileName = new File("Hello.txt");
        Scanner scan = new Scanner(fileName);
        while(scan.hasNextLine()) {
            String scanLine = scan.nextLine();
            System.out.println(scanLine);
        }
    }
}

删除文件

import java.io.File;

public class DeleteFile {
    public static void main(String[] args) {
        File fileName = new File("hello.txt");
        if(fileName.delete()){
            System.out.println("删除文件:" + fileName.getName());
        }
    }
}

也可以删除文件夹。但是,目录内容必须为空。